Greg-DB Dropbox Community Moderator

Comments

  • For information on monitoring for changes, check out the Detecting Changes Guide. And using the Python SDK, you can list the versions of any particular file using the files_list_revisions method. You can download any available version(s) of a file using the files_download methods.
  • The listSharedLinks functionality does not create shared links; it only lists existing shared links. The createSharedLinkWithSettings functionality can be used to create shared links. If the creation of a link for any particular account/file is not allowed, that will fail with ACCESS_DENIED.
  • @"DoControl" I see Здравко offered some additional information and insight. And for reference, there isn't any news on the original request regarding /2/sharing/list_shared_links.
  • I just tried out this flow and it seems to be working correctly for me. Here's a sample of what I ran (with values redacted): # https://www.dropbox.com/oauth2/authorize?client_id=APPKEY&response_type=code&token_access_type=offlinecurl https://api.dropbox.com/oauth2/token \ -d code=AUTHORIZATIONCODE \ -d…
  • @"Musa2" As shown in the example Здравко linked to, you should use a DbxCredential if you need long-term access. The DbxCredential should contain a refresh token, which the SDK will use to automatically retrieve new short-lived access tokens whenever needed, without manual user interaction. Refer to the authorize examples…
  • @"Здравко" Those three examples show three different ways of supplying the app key and secret to curl. I seems you're hinting that the calls overall don't make sense otherwise though as the use of the "path" in the sample parameters won't work for app authentication in particular. I'll ask the team to fix that up.
  • @"novaut" To download a file, it is correct to use the /2/files/download endpoint. You can find the information for using that endpoint in the documentation for /2/files/download here. As shown there, that endpoint supports "User Authentication", but not "App Authentication". There's also an curl example for that endpoint…
  • @"rubbermeetsrd" The /2/files/move_v2 endpoint is an "RPC" style endpoint, meaning it expects the parameters as JSON in the request body. The "request body: could not decode input as JSON'" error you're getting indicates that the request body did not contain valid JSON, and so the Dropbox API was unable to understand it.…
  • @"Anjani Kumar Pandey" Здравко is correct. Refresh tokens don't expire automatically, though they can be revoked on demand. You can find more information in the authorization documentation.
  • Thanks for the feedback!
  • @"gaganov" Yes, while the timeout itself is still in place, there appears to be a recent degradation causing the transfer progress to stall well before the timeout is reached, causing the operation to then hit the timeout. This is open with the team to investigate the cause of the progress stalling.
  • Thanks for reporting this issue. This issue is now fixed and should be working properly. Apologies for any inconvenience this may have caused, and thanks again for bringing this to our attention.
  • @"tenzin" As Здравко noted, you may want to use Dropbox shared links. The Dropbox Embedder may be useful in that case. Otherwise, Dropbox does offer an API you can use for listing, uploading, and downloading files, among other operations. You can find everything you need to get started with the Dropbox API, including…
  • @"gaganov" Thanks for the note! I've restored your message. And yes, there is a 5 minute timeout, and I'm not aware of any current plans to change that limit itself. It looks like the issue here is that progress stalls for some reason, causing the operation to then hit the timeout. I'll follow up here once I have any news…
  • @"Andres Garrido" I don't have an update on this yet. I'll follow up here once I have news.
  • It's not clear from this description, but if you're having any trouble with a third party platform or library itself, please refer to the support resources for that third party platform/library. Otherwise, I'll be happy to help with any issues you're having with the Dropbox API in particular, but I'd need some more…
  • Based on the icons in the screenshot, I see that the "DTBConnor" folder is actually a "shared folder" (like you can create from the Dropbox web site manually), not an "app folder" (which is created automatically when connecting an app with the "app folder" access type to an account). Since a folder with that name already…
  • For that, you would use the "member file access" feature as documented here: https://www.dropbox.com/developers/documentation/http/teams#teams-member-file-access
  • The Dropbox Objective-C SDK does offer a 'batchUploadFiles' method that you may want to use instead: https://github.com/dropbox/dropbox-sdk-obj-c#upload-style-request
  • @"tritnguyen" To confirm what Здравко is saying, on Dropbox the deletion of a parent includes the deletion of any children of that parent, so it may be helpful to construct your data model/storage to reflect that as well. See also, the /2/files/list_folder[/continue] for listing the contents of a folder, which also works…
  • Yes, the Dropbox API offers functionality like this. You may want to check out the following guides to get started: * https://www.dropbox.com/developers/reference/getting-started * https://developers.dropbox.com/dbx-file-access-guide * https://developers.dropbox.com/dbx-sharing-guide For instance: * to list the contents of…
  • You seem to have your "else if" attached to the wrong "if" above it, so it's not properly guarded by the ".isMemberChangeStatus" check. Also, you don't need to check the tag yourself like that. You should use the supplied the methods instead. Here's a corrected version that runs successfully for me: List<TeamEvent> events…
  • The actor won't necessarily be an admin. For example, if the operation was performed via the API, it will be an app instead. If you attempt to get the actor information as an admin when it wasn't an admin, you'll get that error. You should check the actor type before accessing it as that type to avoid that. Also, you would…
  • You can find information on the required path format here: https://www.dropbox.com/developers/documentation/http/documentation#path-formats I see you included a general description of how this is set up in the comments in your code, but if you need help debugging this, please share some actual code for reproducing this…
  • @"roggerCorrea" It looks like fileList would be an array, perhaps initialized like 'var fileList = [Any]()', or maybe more ideally 'var fileList = [Files.Metadata]()'. Your cast is failing because you're attempting to cast the entire array of Metadata, that is, your 'response', which is the listFolderResult?.entries,…
  • You can certainly monitor the event log for member changes like this. Note that not all members will necessarily become "active" though, so you may see a member "removed" without being "active" first. That can happen if a member account is "invited" and then removed before they actually set up the account. In that case the…
  • It looks like your previous message was caught by the spam filter; I've restored it now. Anyway, thanks for the additional information. That's helpful. We'll look into it and I'll follow up here once I have an update for you.
  • This latest message is what I was referring to. It indicates that the call failed because your app does not have the necessary scope for that endpoint. You can enable the scope on the app's page on the App Console as described. Note that you'd need to then get a new access token as that change does not retroactively affect…
  • You can use listSharedLinks to list the shared links for a particular item for a particular user, but unfortunately it's not possible to list shared links like this across all members at once without calling for each one. I'll pass this along as a feature request, but I can't promise if or when that might be implemented.
  • What's in the response body for that response with the 400 status code? It should contain a more specific error message.