Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
emretezisci
3 years agoExplorer | Level 3
"error_description": "missing required field \"grant_type\""
I am trying to get a sl access token with my refresh token but it gives this error. Any idea why?
Input:
{
"body": {
"grant_type": "",
"refresh_token": "<token>"
},
"contentType": "application/json",
"followRedirect": false,
"headers": [
{
"key": "Authorization",
"value": "Basic <key>"
}
],
"method": "POST",
"timeoutSeconds": 5,
"url": "https://api.dropbox.com/oauth2/token"
}
Output:
{
"error": {
"canCatch": true,
"canRetry": true,
"cause": "invalid response status code",
"description": "The HTTP request failed",
"error": "Flow.Step.HTTPRequest.Failed",
"metadata": {
"body": {
"error": "unsupported_grant_type",
"error_description": "missing required field \"grant_type\""
},
"headers": {
"Accept-Encoding": [
"identity,gzip"
],
"Content-Length": [
"97"
],
"Content-Security-Policy": [
"sandbox allow-forms allow-scripts"
],
"Content-Type": [
"application/json"
],
"Date": [
"Tue, 07 Nov 2023 11:58:41 GMT"
],
"Server": [
"envoy"
],
"X-Dropbox-Request-Id": [
"6857e5f3655547459b471405aef54adc"
],
"X-Dropbox-Response-Origin": [
"far_remote"
]
},
"statusCode": 400,
"statusText": "Bad Request"
}
}
}
13 Replies
- Здравко3 years agoLegendary | Level 20
Hi emretezisci,
Haha..😁 Ok, Yes, a little confusing message, maybe. Don't catch to the words. What grant type you are declaring in fact? 🧐 Nothing? 🤔 🙃 It's something required, cannot be nothing. 😉
Hope this gives direction.
- emretezisci3 years agoExplorer | Level 3
Oh I think it was deducted for some reason.
{ "body": { "grant_type": "refresh_token", "refresh_token": "<token>" }, "contentType": "application/json", "followRedirect": false, "headers": [ { "key": "Authorization", "value": "Basic <key>" } ], "method": "POST", "timeoutSeconds": 5, "url": "https://api.dropbox.com/oauth2/token" }I use refresh_token.
- Здравко3 years agoLegendary | Level 20
In addition why are you using application/json encoding? It requires application/x-www-form-urlencoded POST parameters. 😉
- emretezisci3 years agoExplorer | Level 3
Thanks, for your prompt responses. I am making these requests from another integration that doesn't support application/x-www-form-urlencoded.
Do you know any other way to make it work with an application/json encoding?
- Здравко3 years agoLegendary | Level 20
To be honest, I haven't tried (haven't need), but you may do it by "hands". Shouldn't be so difficult to join names and value using = and & (no additional encoding steps needed in particular - all value are URL compatible already). Right? 🙂
- Greg-DB3 years ago
Dropbox Community Moderator
emretezisci The /oauth2/token endpoint does not support those parameters being passed as "application/json"; they'll need to be passed as "application/x-www-form-urlencoded".
While it is recommended to use some library or platform functionality to have that built automatically, as Здравко said you can otherwise try to build that directly.
- emretezisci3 years agoExplorer | Level 3
Is there any other server-side authentication option that doesn't require "application/x-www-form-urlencoded"?
- Greg-DB3 years ago
Dropbox Community Moderator
emretezisci There isn't another endpoint for using a refresh token to get a new short-lived access token.
If your platform doesn't natively provide support for writing the data as "application/x-www-form-urlencoded", I suggest checking your platform's documentation to see how you can supply a string instead so you can build the parameters in your own code, and also override the "Content-Type" header with "application/x-www-form-urlencoded".
- trailtech10 months agoNew member | Level 1
Greg-DBHi, I encountered the same problem despite using the x-www-form-url encoded. I'm using ESP32 MCU to get the token.
My config for the HTTP is as follows:
The error output is as follows:
Is there any wrong config on the HTTP?Thanks!
- DB-Des10 months ago
Dropbox Community Moderator
Hi trailtech,
We are not familiar with the esp_http_client component, but based on the error you are receiving from the API it's most likely the payload is not being formed correctly. Would it be possible for you to add logging that would allow you to visualize the full request payload before it is being sent to the Dropbox API?
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If 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, Facebook or Instagram.
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!