We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
purringpigeon
4 years agoExplorer | Level 4
Getting an upload error - not sure why
I recently ran into the issue of the long lived tokens no longer working, so I needed to upgrade to the latest API and change the access. I am now running into an exception uploading content.
My old upload code was this (and nested other uploads if the first was successful), but this API was no longer present.
DBFILESWriteMode* mode = [[DBFILESWriteMode alloc]initWithOverwrite];
[[self.restClient.filesRoutes uploadData:@"/ServiceReport.sqlite"
mode:mode
autorename: NULL
clientModified:NULL
mute:NULL
inputData:sqllite]setResponseBlock:^(DBFILESFileMetadata * _Nullable result , DBFILESUploadError * _Nullable routeError, DBRequestError * _Nullable error) {
//repeat for each file to upload......
}];
So I replaced with what seemed like the correct replacement:
[[self.restClient.filesRoutes uploadData: @"/ServiceReport.sqlite"inputData:sqllite] setResponseBlock:^(DBFILESFileMetadata * _Nullable result , DBFILESUploadError * _Nullable routeError, DBRequestError * _Nullable error) {
//repeat for each file to upload
}];
But when I try this, I am getting the following error...
I am not really sure what to try next... it seems my download to restore is working just fine, it's the upload that is failing.
Thank you for any pointers.
purringpigeon wrote:
... But my old call was not compiling.That's not something API related! Check what's wrong in your syntax, compiler options, etc.
8 Replies
- Здравко4 years agoLegendary | Level 20
Hi purringpigeon,
Where you have set the mode to overwrite (as in first version)? 🤔 If missing, the behaviour is normal when file with the same name already exists. 😉
Hope this gives direction.
- purringpigeon4 years agoExplorer | Level 4How do I set the mode? I don’t see the option on the new API.
- Здравко4 years agoLegendary | Level 20
purringpigeon wrote:
How do I set the mode? I don’t see the option on the new API.
purringpigeon wrote:...
DBFILESWriteMode* mode = [[DBFILESWriteMode alloc]initWithOverwrite]; [[self.restClient.filesRoutes uploadData:@"/ServiceReport.sqlite" mode:mode ......
Something that's missing in you second code snippet! This part is nothing to do with the change of access token way of work. 😉
- purringpigeon4 years agoExplorer | Level 4When I had it with mode it complained the API was not correct. I’ll try again. I’m not sure why it failed. But my old call was not compiling.
- Здравко4 years agoLegendary | Level 20
purringpigeon wrote:
... But my old call was not compiling.That's not something API related! Check what's wrong in your syntax, compiler options, etc.
- Greg-DB4 years ago
Dropbox Community Moderator
purringpigeon Здравко is correct, you should use the "mode" option to control this behavior. That's still available in the latest version of the SDK, as seen here. I recommend using Xcode's autocomplete feature to automatically template out the parameters.
- purringpigeon4 years agoExplorer | Level 4
When I revert to the code I have above I get the following compile error:
No visible @interface for 'DBFILESUserAuthRoutes' declares the selector 'uploadData:mode:autorename:clientModified:mute:inputData:'
- purringpigeon4 years agoExplorer | Level 4
I found it - they added properties to it.
propertyGroups:NULL strictConflict:NULL contentHash:NULLI am trying that.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!