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
Daniel G.70
2 years agoExplorer | Level 4
Long time registered app not allowing Oauth authentication.
Anyone know why all of a sudden a dropbox registered app that's been working fine for years would suddenly show
{"error": "invalid_scope", "error_description": "Non-scoped apps cannot specify token...
- 2 years ago
[Cross-linking for reference: https://stackoverflow.com/questions/75738278/non-scoped-apps-cannot-specify-token-scopes-when-using-dropbox-api-oauth ]
From your description, it sounds like you have a legacy non-scoped app from before we switched to registering new apps as scoped apps.
We recently fixed a bug where the API would allow non-scoped apps to specify scopes using the 'scope' parameter when calling /oauth2/token with 'grant_type=refresh_token'. Scopes don't apply to non-scoped apps so this is supposed to be rejected with the error you're seeing.
To correct this, you should either:
- not provide the 'scope' parameter when calling /oauth2/token for the non-scoped app, or
- migrate your non-scoped app to use scopes, which you can do using the "Permissions" tab of the app's page on the App Console.
Option b would be preferred. You can find more information on the migration here.
Greg-DB
Dropbox Staff
[Cross-linking for reference: https://stackoverflow.com/questions/75738278/non-scoped-apps-cannot-specify-token-scopes-when-using-dropbox-api-oauth ]
From your description, it sounds like you have a legacy non-scoped app from before we switched to registering new apps as scoped apps.
We recently fixed a bug where the API would allow non-scoped apps to specify scopes using the 'scope' parameter when calling /oauth2/token with 'grant_type=refresh_token'. Scopes don't apply to non-scoped apps so this is supposed to be rejected with the error you're seeing.
To correct this, you should either:
- not provide the 'scope' parameter when calling /oauth2/token for the non-scoped app, or
- migrate your non-scoped app to use scopes, which you can do using the "Permissions" tab of the app's page on the App Console.
Option b would be preferred. You can find more information on the migration here.
Daniel G.70
2 years agoExplorer | Level 4
Excellent. I will look into this. Thankyou!
- Greg-DB2 years agoDropbox Staff
Daniel G.70 Also, to expand on Здравко's comment, while new apps are registered as scoped apps now, you do not need to register a new app. You can and should migrate any existing non-scoped apps to use scopes.
And additionally, while I mentioned that you only need to do either option a or b in my post, you can technically do both. The 'scope' parameter on /oauth2/token is optional for both scoped and non-scoped apps; it is only needed if/when you want to get an access token with a specific subset of the scopes authorized to the given refresh token when calling with 'grant_type=refresh_token'.
- Здравко2 years agoLegendary | Level 20
Greg-DB wrote:...; it is only needed if/when you want to get an access token with a specific subset of the scopes authorized to the given refresh token when calling with 'grant_type=refresh_token'.
... and also if you want to restrict scopes available to the refresh token as a subset of all scopes available to the application when initiate OAuth flow. If you don't need restricting any scopes and you have set all properly to the application and no need different instances with different scopes, better skip 'scope' usage at all.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,882 PostsLatest Activity: 11 hours 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!