Greg-DB Dropbox Community Moderator

Comments

  • [Cross-linking for reference: https://stackoverflow.com/questions/71955472/how-do-i-automate-retrieval-of-a-refresh-token-using-the-dropbox-python-3-x-api ] Dropbox API refresh tokens do not expire after four hours. They can be revoked on demand, but they do not expire automatically, and can be stored and re-used…
  • Dropbox offers the official Dropbox API v2 .NET SDK here: https://github.com/dropbox/dropbox-sdk-dotnet There are instructions for that here: https://github.com/dropbox/dropbox-sdk-dotnet#readme And examples here: https://github.com/dropbox/dropbox-sdk-dotnet/tree/main/dropbox-sdk-dotnet/Examples For instance, this example…
  • Yes, any change at all will count as a write, such as adding, editing, moving, copying, sharing, or deleting files or folders, by any means (such as the Dropbox API, web site, client, etc.). That will include both CreateFolderAsync and SaveUrlAsync, but not Download.
  • Unfortunately, the Dropbox Chooser does not have an option for retrieving "direct" links that do not expire, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though. As a workaround, you can use "preview" links, which don't expire, and modify them for direct access as…
  • The Dropbox .NET SDK is already automatically uses the best available version of TLS, though we recommend updating to the latest version of SDK in general as a best practice, if you haven't already. The latest version of the Dropbox .NET SDK is currently v6.26.0. While the Dropbox SDK itself will use the best available TLS…
  • Can you elaborate on what you mean when you say "it doesn't work"? What unexpected error, output, or behavior are you getting? I recommend stepping through with the debugger first to see what is being executed and when to understand what is happening.
  • The Dropbox API will save whatever data you supply in the HTTPS request body for the upload call as the file data, so you'll need to make sure you're sending the exact correct binary data that you want to store. In the code you shared here, that seems to be your "data" variable. Make sure that variable contains the data…
  • Thanks, that error indicates an issue establishing the TLS connection. Specifically, it looks like wget is attempting to use TLS 1.0, but Dropbox recently retired support for TLS 1.0 and 1.1. The Dropbox servers now only support connections using TLS 1.2. You'll need to update your app/network client/environment to use TLS…
  • The Dropbox Chooser page does include a working demo under the "Demo" section. Is that "Choose from Dropbox" button not working for you? If not, what exactly does/doesn't happen? Do you get any error message?
  • @"Marcos Paris" To debug this, try running this with "-v" instead of "-q". That should enable more verbose output that should help identify the issue.
  • While you can use either the HTTPS endpoints themselves or one of our official SDKs such as the Dropbox JavaScript SDK (or a third party library) to access the Dropbox API, we do recommend using one of the official SDKs, as they'll do much of the work for you. In the Dropbox JavaScript SDK, the corresponding method for…
  • I see you're calling /2/sharing/get_shared_link_file and are supplying both the "url" parameter and "path" parameter. The particular shared link you're sending as the "url" is for a file though; in that case you should not also supply the "path" parameter. The "path" parameter is only for when you need to specify a…
  • I see you're using upload sessions to upload files by doing so in multiple pieces. With this functionality, you can catch and handle any exceptions that may occur, and then resume the process by picking up with whichever upload session call you last made. For instance, if a particular call, such as UploadSessionStartAsync…
  • Dropbox is in the process of switching to only issuing short-lived access tokens (and optional refresh tokens) instead of long-lived access tokens. You can find more information on this migration here. Apps can still get long-term access by requesting "offline" access though, in which case the app receives a "refresh…
  • It sounds like you'd be interested in the "file_operations" category and the "file_add" event type. You can find everything listed in the documentation here. The API v2 Explorer can also be useful for testing calls like this.
  • @"chek534" Make sure your platform itself also supports TLS v1.2. Some platforms/frameworks, especially older versions, may not have TLS v1.2 enabled. You may need to refer to your platform documentation for information on configuring that.
  • A 'missing_scope' error indicates that while the app is permitted to use that scope, the particular access token you're using to make the API call does not have that scope granted. Also, be aware that just adding a scope to your app via the App Console does not retroactively grant that scope to existing access tokens. That…
  • I'll be happy to help with any issues you're having with the Dropbox API, but I'll need some more information. Please reply with: * the name and version number of the platform and SDK/library you are using, if any * the steps to reproduce the issue, including relevant code snippet(s), but don't include any access or…
  • Dropbox recently retired support for TLS 1.0 and 1.1. The Dropbox API servers now only support connections using TLS 1.2. You'll need to update your app/network client/environment to use TLS 1.2 in order to continue making Dropbox API calls. It looks like you're using the Dropbox Java SDK, so to use TLS 1.2 you'll need to…
  • The IList<UploadSessionFinishBatchResultEntry> Entries returned as UploadSessionFinishBatchResult.Entries from UploadSessionFinishBatchCheckAsync will be in the same order as the original IEnumerable<UploadSessionFinishArg> entries you passed to UploadSessionFinishBatchAsync, so you should refer to that original…
  • Dropbox is in the process of switching to only issuing short-lived access tokens (and optional refresh tokens) instead of long-lived access tokens. You can find more information on this migration here. Apps can still get long-term access by requesting "offline" access though, in which case the app receives a "refresh…
  • This may be due to a recent change to our TLS configuration. Dropbox recently retired support for older versions of the TLS protocol, specifically 1.0 and 1.1. You'll need to make sure your app uses TLS 1.2. If you're using the Dropbox Python SDK, to use TLS 1.2 you'll need to update to at least v8.4.1 of that SDK (or…
  • When you retrieve a short-lived access token via /oauth2/token, the response includes the expiration information in the 'expires_in' field. You can store and refer to that information to check if the short-lived access token would be expired at any point in time. To actively check if any particular access token is still…
  • Are you referring to Dropbox shared links like "https://www.dropbox.com/s/..." or ""https://www.dropbox.com/sh/..."? The Dropbox API does offer an endpoint for retrieving the metadata for shared links like this: /2/sharing/get_shared_link_metadata. You can see the information it returns under the "RETURNS" section. Note…
  • @"RohanRaman" This is open with the team, but I can't guarantee a timeline for this change. You may wish to try following up with Google to inform them that this change is in progress but is out of your control to ask that they allow your app in the meantime.
  • The UploadSessionFinishBatchCheckAsync method returns UploadSessionFinishBatchJobStatus, and once UploadSessionFinishBatchJobStatus.IsComplete is true, you can use UploadSessionFinishBatchJobStatus.Complete to access UploadSessionFinishBatchJobStatus.Complete.Value which is UploadSessionFinishBatchResult, to access…
  • I just tried the code you shared, plugging in my own encoded app key and secret value, and I didn't get the error you're getting. Please double check that you're passing in only that base64-encoded app key/secret pair there after "Basic ". Make sure you don't have any other stray characters accidentally included. For…
  • You only need to do the authorization flow in the browser once per user. You can then store and re-use the resulting refresh token without further manual action. Refresh tokens can be re-used repeatedly and don't expire automatically.
  • First, for reference, if there are multiple changes at the same time in the same account or shared folder, you can run in to the 'too_many_write_operations' error, which is "lock contention". That's not explicit rate limiting, but rather a result of how Dropbox works on the back-end. This is a technical inability to make a…
  • @"RohanRaman" This is open with the team, but I don't have an update on it yet. I'll follow up here once I do.