Start a new topic

Kinvey.File.download error: SignatureDoesNotMatch

When I do a `Kinvey.File.download('file_id')`, I now get the following error:



~~~

{"name":"RequestError","description":"This file could not be downloaded from the provided URL.","debug":"SignatureDoesNotMatchThe request signature we calculated does not match the signature you provided.Check your Google secret key and signing method.GET\n\napplication/x-www-form-urlencoded;charset=utf-8\n1407175066\n/kinvey_production_xxxxremovedxxxxxxxxx"}

~~~



For these files, I have `"public":true` and `"_acl":{"gr":true`



Titanium v1.1.8



I am also working to set up `Kinvey.File.upload` to allow users to upload photos which are not public nor globally readable. I've been deleting these from File Storage with the console. Not sure if it could be related, but the download issue started at the same time, though my code for the downloading as remained unchanged.

Hey Adam, I saw the other thread you commented on. I wanted to let you know we're looking into this now and I'll keep you updated!
Hey Adam, We're trying to reproduce but have been unable to do so thus far. I wondered if you could help me with more information.



* What are you trying to do (use case) and which steps are you taking to achieve that? At which step are you seeing the issue?



1. Step 1

2. Step 2

3. ...



* What are you expecting instead:



It looks like the download method adds a `Content-Type` header to the request, which causes GCS to fail. I am failing to reproduce this in the latest Titanium version, can you let me know what version of the SDK you use?



Also, can you try the following: `Kinvey.File.download('file-id', { headers: { 'Content-Type': null } });
Hi Mark, Caroline,



Thanks for your looking into this. I added the headers option as mark described, and while the error still occurs, I have some more information for you.



I am running Ti SDK 3.3.0. If I revert to Ti SDK 3.2.3, the download is successful (both with or without the headers option). My apologies for not trying this before - I actually thought I did when I first switched to 3.30 - but I was using TiShadow, and had failed update the TiShadow app to 3.3.0.



Mark, can you verify that download works for you on Ti SDK 3.3.0?
Yes, I cannot reproduce this when trying in the latest version. What platform do you test on specifically (android / ios / web)?
I'm testing on iOS

Xcode 5.1.1

iOS Simulator v7.1 32 bit

OS X 10.9.4



Ti SDK 3.3.0.GA

TI CLI 3.3.0



Node.js 0.10.13



Not using Alloy, but have v1.4.1 installed



Titanium 3.3 changed the internal module which builds HTTP requests on iOS. It looks like the `Content-Type` header is added to every request. This will be a tough one to fix - can you continue using Titanium 3.2 for now?
Yes, I can stay with 3.2.3 for now. Are you referring to the switchout of the ASIHTTPrequest library for NSURLConnection? If you see a bug and open a [Jira](jira.appcelerator.org) ticket, post it here and I'll see if I can get some traction through my Appc support account.
Login or Signup to post a comment