You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
WanDER_33
2 years agoExplorer | Level 3
.NET SDK error occurs during refreshing of token
Hey, I'm developing a web app that should upload files to Dropbox in the final step. All application users use the same Dropbox account, so all the files go to the same Dropbox. I implemented it acco...
- 2 years ago
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
- missing app secret (if the refresh token was retrieved using the non-PKCE flow)
Check and make sure you're supplying the correct values when building the DropboxClient. If you're supplying any incorrect value(s), update your app to supply the correct value(s). If the refresh token has been revoked, you'll need to have the user re-authorize the app to access the account to receive a new valid refresh token.
The response body on that 400 error response may contain a more specific error message, though the .NET SDK unfortunately does not currently expose that. There's an open request to update it to do so. You can perform the call manually to check for an error message in the response body however, e.g., using curl like this:
curl https://api.dropboxapi.com/oauth2/token \ -d refresh_token=REFRESHTOKENHERE \ -d grant_type=refresh_token \ -d client_id=APPKEYHERE \ -d client_secret=APPSECRETHERE
Greg-DB
Dropbox Staff
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
- missing app secret (if the refresh token was retrieved using the non-PKCE flow)
Check and make sure you're supplying the correct values when building the DropboxClient. If you're supplying any incorrect value(s), update your app to supply the correct value(s). If the refresh token has been revoked, you'll need to have the user re-authorize the app to access the account to receive a new valid refresh token.
The response body on that 400 error response may contain a more specific error message, though the .NET SDK unfortunately does not currently expose that. There's an open request to update it to do so. You can perform the call manually to check for an error message in the response body however, e.g., using curl like this:
curl https://api.dropboxapi.com/oauth2/token \
-d refresh_token=REFRESHTOKENHERE \
-d grant_type=refresh_token \
-d client_id=APPKEYHERE \
-d client_secret=APPSECRETHERE
WanDER_33
2 years agoExplorer | Level 3
Thank you for your answer so much! When I run the curl command I saw that my refresh token was incorrect. It was incorrect because I switched the application, I changed the app key and app secret, but used the old refresh token 🙂 Do you have any plans to add custom exceptions and messages in .NET SDK?
- Greg-DB2 years agoDropbox Staff
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.
About Discuss Dropbox Developer & API
Make connections with other developers
797 PostsLatest Activity: 3 days agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!