Greg-DB Dropbox Community Moderator

Comments

  • @"Alex_Ch" I see Здравко already offered some helpful guidance. For more information on the OAuth flow, for retrieving a refresh token, refer to the following resources: * https://developers.dropbox.com/oauth-guide * https://www.dropbox.com/developers/documentation/http/documentation#authorization *…
  • Thanks for the report. Issues like that can be a temporary service availability issue. I just tried the endpoint and it is working for me currently. If you're still seeing this, please share the following so we can look into it: * Does it only affect a particular account? If so, please open an API ticket here and share the…
  • Dropbox offers the Dropbox Saver, which can be used to save file(s) from a web app to the end-user's Dropbox account. You can find information on using that here. It does not offer a way to convert an HTML page to a PDF file though. The web app would need to produce and supply the particular file data it wants to offer to…
  • In your original sample code here, you already have access to the parent folder's ID (not the same as the shared folder ID), in folderMetadata.Id. In cases where you don't already have that parent folder metadata object though, you can retrieve the parent folder ID, given the metadata of a file (or folder), like this: var…
  • @"abhinav-gogoi-clairvoyant" Yes, as Здравко helpfully linked to, you can use ListSharedLinksBuilder to specify a path. In particular, you would use ListSharedLinksBuilder.withPath. (The Java SDK uses this "builder" pattern to support passing parameters on many calls like this.) Working from your sample code, that would…
  • To clarify, FolderMetadata.Id and Metadata.ParentSharedFolderId are different types of identifiers. Shared folder IDs (such as in ParentSharedFolderId) are only created once a folder is shared. They can't always be returned since they may not exist yet. File and folder IDs (such as in FileMetadata.Id and FolderMetadata.Id)…
  • The parent shared folder ID is only returned if the item is contained inside a shared folder. (Note that new folders in your home folder are not shared by default.) If the item is not in a shared folder, then ParentSharedFolderId will not be set. The output you shared indicates that the file you're checking is not in a…
  • Receiving a 'Content-Type: application/octet-stream' response header on a successful /2/files/download call is the expected behavior. The Dropbox API doesn't return specific mime types for files, but you can get the file extension from the file name and keep your own file extension to mime type mapping as desired.
  • @"Skyfay" Your connection speed to Dropbox depends on the routing you get between your ISP and our servers, and may be slower than your ISP's rated speeds, and may vary over time. Sometimes resetting or retrying your connection gets you a different route and better speeds, but that is outside of our control. Some ISPs also…
  • @"BartVD" Thanks for your message. As you found, Dropbox changed the certificate for api.dropboxapi.com from DigiCert High Assurance EV Root CA and it is currently being served with a valid certificate using DigiCert Global Root CA. (You can find the details on the transition in my previous messages from 2021 in this…
  • No, regardless of app status, Dropbox refresh tokens do not expire. They can be revoked on demand by the app or user though. Dropbox short-lived access tokens themselves do expire after a short period of time. Please refer to the OAuth Guide and authorization documentation for more information on how this process works.
  • To upload large files, you should use the "upload sessions" functionality instead. You can find an example of doing so with the Dropbox Java SDK here.
  • @"urvisheth" I see you want to upload a file to a shared folder in your team space, not your own folder. By default, API calls operate in the "member folder" of the connected account, not the "team space". You can configure API calls to operate in the "team space" instead though. To do so, you'll need to set the…
  • This response indicates that nothing was found for that particular query for the specified member under the specified namespace. Please check that your query, member ID, and namespace ID are correct. If your values are correct but you are missing search results, feel free to open an API ticket here and we'll look into it.…
  • Thanks for following up. I'm glad to hear that helped. Yes, this is open with the team to update the exception to surface the message in the .NET SDK, but I can't promise a timeline on that being done.
  • There are a number of scenarios that can cause the refresh to fail like this, such as: * missing/incorrect/malformed refresh token * revoked refresh token (e.g., when the user unlinks the app via https://www.dropbox.com/account/connected_apps , etc.) * missing/incorrect/malformed app key * incorrect/malformed app secret *…
  • @"Alan Hsiao" Здравко is correct; there isn't a concept of a "download session", but you can download files in pieces across multiple requests if needed. Content-download style endpoints, such as /2/files/download, support Range requests for downloading only a portion of a file.
  • @"ram4444" Thanks for following up and sharing that, and apologies for the delay. (It appears your latest message may have initially been caught in a spam filter.) Anyway, I see your client is sending a "TE" header in the request, but no "Connection" header. According to the specification, the corresponding "Connection"…
  • @"terryz" I see you're setting the "url" to "https://www.dropbox.com" now, instead of your shared link, and so you're retrieving the HTML of the Dropbox home page. I also see that you're trying to set a "Path" header to "/s/y5jlwu5nfr3s8xe/FAULTMSG.CSV?dl=1", however that should be part of the HTTP start line, not a…
  • That error is occurring because you're missing the "new" necessary to create that instance. Please add the "new" back like in my message and try again.
  • For the update write mode, you need to supply the rev value that you are intending to update, so you would make that like: new WriteMode.Update(result.Rev)
  • Please use Dropbox.Api.Files.WriteMode.Overwrite.Instance to set the overwrite mode (instead of AsOverwrite).
  • @"mdiazl" You should be able to download a file in the connected account using the files_download_to_file method. That should work for files in shared folders as well, as long as the shared folder is mounted in the connected account. Alternatively, if you want to download a file from a shared link, you would instead use…
  • @"ram4444" As Здравко said, your output may not actually be representative of the real request. I tried replicating the request in curl using the header values you supplied, but the call succeeded for me. That may indicate that the output in fact does not sufficiently show what the actual request consists of. That being…
  • @"ram4444" I understand you're including the parameters on the URL itself, but the actual HTTP request issued by your client would involve some start line and header(s) at least. So that we can investigate the request that causes that error, please print out and share the actual HTTP request itself. You may need to refer…
  • @"ram4444" Can you share the full HTTP request (headers and body, if any) that results in a 503 so we can look into it? Be sure to redact your refresh token, app key, and app secret values though. Please also share the full response (headers and body, if any) for reference. Thanks in advance!
  • Dropbox does not limit how many apps you can register, however Dropbox also does not support registering apps programmatically. You should only be registering apps manually. You should create one app registration per actual app that you are building. That only needs to be done once per app so it should be manageable to do…
  • If the client is actually sending that full URL string in the start line, that would be incorrect. The start line in the HTTP request should only contain the method, path, and HTTP version; not the hostname/port. And the "Host" header should only contain the hostname. For example, see that part of the first request in your…
  • @"terryz" No, the values there appear to be valid, and nothing seems to be missing when compared to a curl sample. The only thing that looks off is that the whole URL is output under a description of "requestParams.method", but that may just be how the client is formatting its logging; it may not be representative of how…
  • @"terryz" Given that the same link and headers work in another client, it does sound like your client is malforming the request somehow. Unfortunately we can't offer support for third party clients themselves, so I recommend referring to the documentation/support resources for that client for information on how to debug…