Greg-DB Dropbox Community Moderator

Comments

  • There shouldn't be anything unusual about your app key in particular. To check that though, you could try replacing my app key in the sample project with yours and retesting it. Please try that and let me know how it goes.
  • Dropbox doesn't offer an official SDK for PHP in particular, so you'll need to either call the HTTPS endpoints directly, or use a third party library. To list all of the "namespaces" (which includes shared folders) for the team, you can use the /2/team/namespaces/list[/continue] endpoints. To get the metadata for a shared…
  • Can you elaborate on what you mean when you say it's "not working"? What error or unexpected output do you get? Looking at the code you provided though, there's a few things to note: * It looks like you're not setting the "linkType" option, so it will default to "preview". In a case like this where you need to retrieve the…
  • No, the official Dropbox .NET SDK does not offer a way to retrieve the latest short-lived access token that it has, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.
  • A 'path/not_found' error from /2/files/list_folder indicates that nothing was found at the specified "path" in the connected account. Note though that paths will be relative to the root for that call, which will depend on the access type of the app being used. For example, the API Explorer's own app is registered for "full…
  • If you only want your app to connect to your own account, and for more than a few hours without manual intervention, you should use the OAuth app authorization flow and process it once yourself to get a "refresh token" for your own account. That particular refresh token will always be only for your own account and will not…
  • In this code I see references to "Panther.Services.DropboxService" and "DropboxFileSystemProvider", which are not classes/types written by Dropbox, so unfortunately I cannot offer support for those. You'll need to refer to the documentation/support resources for those third party objects. Also, I don't see it referencing a…
  • Yes, team folders are considered a type of shared folder, so just building on the previous sample, you can do something like this: team_folder_count = len([shared_folder for shared_folder in shared_folders if shared_folder.is_team_folder])if team_folder_count == 0: print('User has no team folders')else: print('User has at…
  • [Cross-linking for reference: https://stackoverflow.com/questions/73558139/check-if-a-user-has-access-to-any-shared-folders-in-dropbox ] Yes, for the Python SDK, using the sharing_list_folders/sharing_list_folders_continue methods is the right way to list the shared folders that a user account has access to. The Dropbox…
  • 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…
  • Since it fails on that server but works otherwise, it sounds like there's something about that server setup that is preventing your code from successfully making the HTTPS connections to the Dropbox API servers. Is there anything on that network connection, such as a firewall, VPN, proxy, anti-virus, etc., that may be…
  • I don't see anything wrong in this snippet of code, and it runs successfully for me. When you say "basic stuff like getting the email address of my account works well", it sounds like you're referring to the GetCurrentAccountAsync method. For comparison, that method calls api.dropboxapi.com, whereas methods that interact…
  • It sounds like the file in question may be in the "team space". By default, API calls operate in the "member folder" of the connected account, not the team space, so by default files in the team space will not be found and will result in an error like this. You can configure API calls to operate in the team space instead…
  • Building a DropboxClient with the refresh token, app key, and app secret as you've shown here is correct and valid. Are you sure that is the specific DropboxClient object you're using when you're getting that 'expired_access_token' error? I just tried it and it is working for me with my own values. Note that an 'ExpiresAt'…
  • This appears to be a duplicate of this other thread. I'll close this one and follow up there.
  • That's correct, whether using PKCE or not, use of a redirect URI optional. Using PKCE just eliminates the use of the app secret in favor of a code challenge/verifier (which the SDK PKCE flow handles for you).
  • Thanks for the note. We'll get that fixed up in the next build of that GitHub page.
  • The .NET SDK documentation is currently available here. Click the "API Documentation" link at the top to access specific classes/methods. The PKCE flow is the right thing to use for client-side apps, such as desktop apps. The SDK will still do most of the work for you. You can find an example of using the PKCE flow with…
  • You can add a shared folder to an account via the Python SDK using the sharing_mount_folder method. You can list the shared folders available to be mounted in an account using sharing_list_mountable_folders/sharing_list_mountable_folders_continue.
  • You'll need to add the relevant domain to "Chooser / Saver / Embedder domains", not the "OAuth 2" section. If you've done so and it's still not working for you, please share a sample page showing the issue so we can look into it for you. (You can open a ticket here if you'd prefer to shared privately.) Thanks!
  • No, I don't have any news on this.
  • Yes, that's expected. You're using the "id" mode, so it shows the history of the file with the supplied ID across moves, including the revision of the file at each location where it is/was.
  • I see you're supplying a folder path and not a shared link and are using app authentication on this /2/files/list_folder call, which can cause this 'path/unsupported_content_type' error. When using app authentication, that is, with the app key and secret instead of an access token, you do not have access to an account…
  • The Dropbox Chooser doesn't offer a way to use an access token like that, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.
  • Have you registered the correct domain in "Chooser / Saver / Embedder domains" on the app's settings page on the App Console for the app for the app key you're using?
  • If your app needs long-term access without repeated manual user interaction, the app should request offline access to get a refresh token. Refresh tokens don't expire by default (though they can be revoked on demand) so they can be stored and re-used multiple times over long periods of time without the user present. The…
  • This varies by endpoint. Most endpoints do accept file/folder IDs, but some do not. For example, listing, uploading, and downloads files can be done just by ID, but the tagging functionality can't. You can see which formats are accepted in the format string for the relevant parameter on any given endpoint in the…
  • @"corvettemina" As Здравко said, the user needs to authorize the app, at least once. For long-term access, you should now be using refresh tokens. The Java SDK can actually handle the refresh process for you automatically, as long as you supply the necessary credentials, e.g., as shown retrieved in this example (meant for…
  • The /2/files/download endpoint is a "content-download" style endpoint, so the file content is returned in the response body (not a header). Refer to your client's documentation for information on how to read the data from the response body.
  • The "http://127.0.0.1:52475/" address is the address of the local server that the OauthBasic and OAuthPKCE examples use to locally receive the redirect during the OAuth app authorization flow. Those are console apps designed to be run locally to show how to process the OAuth flow, and are not meant to be deployed as web…