Greg-DB Dropbox Community Moderator

Comments

  • The Dropbox API does have a rate limiting system, but we don't have specific numbers documented. It is only designed to prevent abuse though, and is accordingly relatively generous. Further, the limits operate on a per-user basis. That being the case, you generally don't need to worry about hitting it in normal use. Also…
    in Api Quota Comment by Greg-DB April 2017
  • Calling cancel on the task object is the right way to cancel the request. I'm not sure what you mean when you say "the task wouldn't execute". That is the expected behavior once you call cancel. Also, you can use setResponseBlock on the same line as where you retrieve the task object, in case that's the issue you're…
  • The documentation for UploadSessionLookupError.IncorrectOffset covers an example of how this can occur: "The specified offset was incorrect. See the value for the correct offset. This error may occur when a previous request was received and processed successfully but the client did not receive the response, e.g. due to a…
  • @"0ylanmorisson" It looks like you opened another thread for this, so I'll follow up there.
  • The loadFromJsonFile method is the way the PHP Core SDK loads configuration settings, and isn't itself relevant to the OAuth flow. Regarding the actual error you're getting, it looks like you're supplying a 'code' URL parameter, but that's not expected. As seen in the code you supplied, there is a 'response_type' parameter…
  • If you only need to use your app with fewer than 50 users, you don't need to apply for production. If you will need to have more than 50 accounts linked to your app though, you should apply. You can find more information on this here: https://www.dropbox.com/developers/reference/developer-guide#production-approval
  • @"nguyen" There isn't anything in your the body of your post. Do you have a question we can help with?
  • @"KK4iOS" It looks like you did open a new issue on GitHub for this, so we'll take a look and follow up there.
  • Thanks! In that case, you can specify a longer timeout as shown here: https://github.com/dropbox/dropbox-sdk-dotnet/blob/master/Examples/SimpleTest/Program.cs#L49
  • How long does it take to fail when you're trying to download via the API? If it is a timeout issue, there may be a way to configure that, but we'll have to look into it. Also, are you trying to download multiple files at once?
  • [Cross-linking for reference: https://stackoverflow.com/questions/43208069/dropbox-net-downloading-large-files-using-getcontentasstreamasync ] I can't seem to reproduce this issue. Is it failing after a certain amount of time? If so, it may be timing out, which would vary by network connection. Alternatively, are you…
  • It sounds like you don't have permission to write to the local path specified by your "destURL". Can you check that value and confirm if you should or shouldn't have permission to it? There was also a thread about this error message here which may be useful: https://github.com/dropbox/dropbox-sdk-obj-c/issues/60
  • For the API calls itself, please refer to the samples I linked to earlier in this thread. For the OAuth app authorization flow, you may want to see how the PHP Core SDK did it, as the OAuth 2 app authorization flow is the same for API v1 and v2:…
  • I'm glad to see you found the reference page. (Apologies, I should have linked to it in my last reply.) It sounds like hashing the local file and comparing it will help in your case then, and would be better than just relying on timestamps, as those can differe across machines. You may also want to check out how you can…
  • If you're implementing the OAuth app authorization flow yourself without using an SDK, you should use the standard documented OAuth endpoints. That is, you should use /oauth2/authorize instead of /connect, as /connect isn't documented and only meant for use in the official SDKs. When using the OAuth 2 app authorization…
  • 1. I'm not sure what your negotiations in particular entailed, but on the API side of things I have sent your feature request along to the team. I can't make any promise or offer a timeline of if or when that would be implemented though. I'm not aware of work or plans to implement that right now. 2. Your reading of the…
  • @"akreiss" It sounds like you're asking for something slightly different. This thread was about an issue specific to Internet Explorer. Aside from that issue, the expected behavior is for the browser to download the file (based on the Content-Disposition response header). I'm sending this along as a feature request for…
  • The 'id' is specific to Dropbox (and not embedded in the file) and is a good way to identify files, even as they get renamed or moved. I can't offer a long term timeline exactly though, but the 'id' is part of API v2, so I can say that wouldn't remove it without at least providing advanced notice (as doing so would be a…
  • No, unfortunately there isn't a way to get thumbnails along with the listing at the same time. I'll pass it along as a feature request.
  • The Dropbox API doesn't offer animated thumbnails. We'll consider it a feature request. That being the case, you'd need to download the original file and handle it as desired.
  • [Cross-linking for reference: https://stackoverflow.com/questions/43164908/how-to-access-read-write-advanced-file-exif-metadata-in-the-dropbox-javascript ] The Dropbox API unfortunately doesn't natively return Mac OS file metadata/xattrs, or the full EXIF information for a file, but I'll be sure to pass these along as a…
  • Thanks for confirming that. If the file contents are identical, this is the expected behavior. There isn't a great workaround, but we'll consider it a feature request for a way to do this. Deleting the file first would work, but that may be prone to race conditions, so I'd exercise caution with that. Also, I'm not sure if…
  • First, for reference, using listFolder and listFolderContinue is the right way to get the metadata for the files and folders in an account. Whether or not you use the recursive=true, you should call listFolder first, and then call back to listFolderContinue using that returned cursor, if instructed to do so by hasMore.…
  • [Cross-linking for reference: https://github.com/dropbox/SwiftyDropbox/issues/158 ] That sounds like the only way to do that. The Dropbox API doesn't offer a way to just get the count of media information, so you'd need to listFolder through the entries you're interested in and count the relevant ones.
  • The client_modified functionality is working properly for me right now. Are you uploading the same exact file data each time by any chance? If you do, that's not considered a change, so the metadata won't get updated. Also, it looks like you did originally post an access token on another reply here, so for the sake of…
  • Thanks for the additional information! We'll take a look to see if we can figure out what's going on here.
  • Thanks for confirming that. The API was designed with the intention that each user would link their own Dropbox account, in order to interact with their own files. However, it is technically possible to connect to just one account. The SDKs don't offer explicit support for it and we don't recommend doing so, for various…
  • No, the user needs to interact with the app authorization flow manually to connect their account. This only needs to be done once per user though. (Unless you mean you only want the user to connect to your own single account? That's technically possible, but not recommended.)
  • Yes, you'll need to call uploadSessionStart once for every file you want to upload. If you need to upload multiple files, you can use uploadSessionFinishBatch to commit them together, but whether or not you use the batch version, you'll need to call uploadSessionStart once per file. (For reference, using…
  • Thanks for the post! I'm glad to hear you were able to work around this issue, though I'm not sure I understand exactly what the issue was. When using uploadUrl, the SDK should upload the data from whatever URL you supply, but as far as I'm aware it shouldn't then affect the local file, e.g., in a way to cause an error…