We're making changes to the Community, so you may have received some notifications - thanks for your patience and welcome back. Learn more here.
Forum Discussion
Fomka_Wyverno
11 months agoNew member | Level 2
Get Access Token JavaScript in fetch
const parameters = {
'code': params.code,
'grant_type': 'authorization_code',
'redirect_uri': window.location.origin,
'client_id': dataApp.client_id,
'client_secret': dataApp.client_secret
}
console.log(parameters);
fetch('https://api.dropbox.com/oauth2/token', {
method: 'POST',
body: JSON.stringify(parameters)
}).then(response => console.log(response))
.catch(error => console.log(`Error in POST: ${error}`));
params.code - this is code when i first redirect to my http in url parameters
window.location.origin - origin url my web-site
dataApp.client_id - Api Key my application
dataApp.client_secret - App secret my application
But when fetching my response 400 - why?
I looked at the curl convenerator in js suggested to do this
But when fetching my response 400 - why?
I looked at the curl convenerator in js suggested to do this
fetch('https://api.dropbox.com/oauth2/token', {
method: 'POST',
body: new URLSearchParams({
'code': params.code,
'grant_type': 'authorization_code',
'redirect_uri': window.location.origin,
'client_id': dataApp.client_id,
'client_secret': dataApp.client_secret
})
});
But this again not work
It looks like you're sending the parameters as JSON, but the /oauth2/token endpoint expects them as application/x-www-form-urlencoded POST parameters, and so your parameters aren't getting read. Update your implementation to send application/x-www-form-urlencoded POST parameters instead.
- Greg-DBDropbox Staff
Check the contents of the response body for that error response. It should contain a more specific error message.
- Fomka_WyvernoNew member | Level 2
The request parameters do not match any of the supported authorization flows. Please refer to the API documentation for the correct parameters.
but I don't understand why if I used all the parameters from the documentation. At the same time, if you do it in сURL, everything will work out well- Greg-DBDropbox Staff
It looks like you're sending the parameters as JSON, but the /oauth2/token endpoint expects them as application/x-www-form-urlencoded POST parameters, and so your parameters aren't getting read. Update your implementation to send application/x-www-form-urlencoded POST parameters instead.
About Discuss Dropbox Developer & API
795 PostsLatest Activity: 4 days ago
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 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!