Greg-DB Dropbox Community Moderator

Comments

  • There are any number of ways obfuscate or encrypt it, but it's impossible to actually protect a secret in a client-side application. (E.g., if you encrypt it, the encryption key eventually needs to be on the device too, and so can be similarly stolen, etc.) No matter what, an attacker could extract the secret from the app.…
  • No problem. To elaborate a bit on the security concerns, note that client-side applications can't keep secrets, meaning that any access token stored in a distributed app could be extracted directly, or sniffed in transit. That means that a malicious user could get the access token, and use it to access the Dropbox API…
  • [Cross-linking for reference: https://stackoverflow.com/questions/34603685/how-to-download-files-to-app-from-app-folder-without-linking-an-account-via-drop ] Based on the additional information you posted in your StackOverflow question, it sounds like you just want your app to connect to your own Dropbox account, as…
  • Hi Jan, API v2 isn't a REST API, and so doesn't conform to many REST patterns. You can find some more information on the design in the following blog posts: https://blogs.dropbox.com/developers/2015/04/how-many-http-status-codes-should-your-api-use/…
  • The /media endpoint does return the original file. The Dropbox API doesn't currently offer a way to get HLS or transcoded streams, but I'll be sure to pass this along as a feature request.
  • Juanvi, I'm not sure exactly what the problem or solution Davide encountered was, but please feel free to open a new thread with the details of the issue you're seeing (e.g., a sample request and response) and we'll be happy to help.
  • If you want to use the Android Dropbox Chooser, yes, the official Dropbox app needs to be installed, since the Chooser is built into the official Dropbox app. If that won't be sufficient for your app, you can use the API itself build your own file list, get thumbnails, etc.:…
  • Are you using an Android emulator (as opposed to a physical device), or otherwise some device without the Play Store? The Dropbox Chooser itself is built in to the official Dropbox app, which is why the library prompts you to install the app if it isn't found. TheActivityNotFoundException error message is indicating that…
  • No, there isn't a way to check for uploads that are pending or in progress from other locations, but I'll be sure to pass this along as a feature request.
  • Hi Ricardo, I'm not aware of any specific plans to add that, but I'll send this along as a feature request.
  • You can actually use the Drop-ins with any Dropbox API app key, so you can just register a normal Dropbox API app and use that. The distinct Drop-ins option was removed from the new app creation page for the sake of simplicity. (For reference though, the old app creation page is still live here.)
  • I can't seem to reproduce the behavior you're describing, but I'm glad to hear you got this working the way you wanted.
  • If you're referring to a delay before the callback is called, that's expected because the file has to be downloaded from the Dropbox API servers over the network. If you're referring to a delay when calling NSData.contentsOfURL, that also seems reasonable, since the entire (possibly large) file is being loaded from disk…
  • Yes, the "response" callback method in the snippet you posted only fires once the operation is complete. If you get a response object back, the download succeeded. If you get an error object back, there was an error.
  • Once you have the library installed, I recommend working through the tutorial, which covers uploading files: https://www.dropbox.com/developers/documentation/python#tutorial If you're still having trouble, open a new thread with the details of the new issue:…
  • Using pip to install the Dropbox library is recommended. The official instructions are here: https://www.dropbox.com/developers/documentation/python#install The "pip install dropbox" command would be run in your command prompt, but you need to have pip installed. The installation instructions for pip itself can be found…
  • [Cross-linking for reference: https://stackoverflow.com/questions/33700332/dropbox-migrating-oauth1-to-oauth2-using-token-from-oauth1 ] This call needs to be signed using OAuth 1, so this blog post, specifically step 4, maybe be helpful:…
  • Yes, there's a new files_get_temporary_link method in the Python SDK you can use: https://dropbox-sdk-python.readthedocs.io/en/master/moduledoc.html#dropbox.dropbox.Dropbox.files_get_temporary_link And for reference, in the .NET SDK, that's GetTemporaryLinkAsync:…
  • Dropbox API v2, which the .NET SDK uses, doesn't currently offer an equivalent of the v1 /media endpoint, but I'll be sure to pass this along as a feature request.
  • Unfortunately this will be ****** to debug remotely, since you need to redact the access token itself, for the sake of security. Where did you get the access token and how are you loading it though? Can you double check there aren't any stray characters on it? E.g., if you copied and pasted it from somewhere, make sure…
  • There isn't a good way to do this in API v2 yet, but I believe we do have some potential solutions planned for this. I'll be sure to pass this along as a feature request though. As a workaround, I would recommend continuing to use v1 /media as like you have been.
  • Note, for anyone following along who may be having the same problem, another one of our developer advocates offered an answer on the StackOverflow question.
  • Where are you stuck exactly? Are you having trouble with the Dropbox portion of this? If so, what error are you getting? The matter of building a GUI around it is out of scope for Dropbox API support so I'm afraid this wouldn't be a good place for help with that aspect of your project.
  • Hi Fernando, downloading would look like: curl "https://content.dropboxapi.com/2/files/download?authorization=Bearer%20ACCESS_TOKEN_HERE&arg=%7B%22path%22%3A%20%22%2Ftest.txt%22%7D"
  • Hi Alexander, yes, you can pass the arguments on the URL. You cited the right documentation, but your implementation isn't quite right. You should put all of the arguments as JSON in a URL parameter actually named "arg". Likewise, you need to use the "authorization" parameter to send up the access token. To make the arg…
  • Thanks for the report! This is a known issue, though I unfortunately don't have a timeline for a fix.
  • This is different from the code in your first post, but in both cases you're just using the first element in the files array (that is, files[0]). To access all of the files, iterate through the files array.
  • When the user finishes using the Chooser, your success callback method should be called. Is it getting called for you? If so, what does the files variable contain? In either case, adding something like console.log(files) in the success callback may be a good first step in debugging this.
  • For larger files, you should use chunked uploading. It looks like you're using the Java SDK, so you can use the startUploadFile method, which will decide which kind of uploading to use for you:…