We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
Robert J.35
10 years agoNew member | Level 1
API v2 for iOS, Mac OS X, Windows, Linux, Android - need strategic advice
Hi,
I need advice on implementation of Dropbox API v2 for all platforms mentioned in the subject. I have an app that currently uses iCloud to sync data between iPhone, iPad and Mac and would like t...
Greg-DB
Dropbox Community Moderator
10 years agoHi Robert, our normal recommendation is to use the platform specific SDK for each platform, as available. So, that would be SwiftyDropbox for Swift (and the forthcoming Objective-C library for Objective-C. ETA August), the .NET SDK for Windows, the Java SDK for Android, etc.
If you need to support all of these though, that indeed could be more overhead than you'd want, as you mentioned. It sounds like an official C++ SDK would be a good solution for you, but unfortunately Dropbox doesn't offer one. I'll send this along as a feature request though.
That being the case, you can implement the HTTPS endpoints directly in your own C++ code:
https://www.dropbox.com/developers/documentation/http/documentation
That sounds like it may be a good solution for your scenario.
Using the upcoming Objective-C library for iOS and Python on desktop like you mentioned also seems like a good compromise though. Of course, that's really up to you.
Regarding the authorization flow, I'm not sure what issues you're referring to on iOS 9.2 and 9.3, but I don't expect OAuth to be a problem on iOS going forward. (We've been using it on iOS for a long time without any major issues.) Further, you don't necessarily need a "custom" URI. There are various ways to handle it, but for example if you process the app authorization in an in-app browser, you can use a more standard redirect URI, e.g., https://www.dropbox.com/1/oauth2/redirect_receiver , which Dropbox offers for this purpose.
In any case, the app authorization flow does need to go through a browser. Your app shouldn't handle the user's credentials directly.
Also, your app should never scrape/parse the HTML of the Dropbox web site itself. In addition to being a brittle implementation, since the site changes without notice, that's against the Dropbox terms ( https://www.dropbox.com/terms#acceptable_use ). All of the platforms you listed have browsers anyway though, so that shouldn't be an issue.
Hope this helps!
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!