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

Kentwt's avatar
Kentwt
New member | Level 2
2 years ago

How to get an access token and refresh token

I am encountering issues when trying to obtain an access token and refresh token.

I retrieved the access code from the following URL: https://www.dropbox.com/oauth2/authorize?client_id=<app key>&redirect_uri=<REDIRECT URL>&token_access_type=offline&response_type=code

I input the access code obtained from the above into <AUTHORIZATION_CODE> and executed it:

{
 "code": "<AUTHORIZATION_CODE>",
 "grant_type": "authorization_code",
 "redirect_uri": "<REDIRECT_URI>",
 "client_id": "<APP_KEY>",
 "client_secret": "<APP_SECRET>"

}

However, I received the following error:

There was an issue setting up your call.

Raw response for the API Status code 400
{"error": "invalid_request", "error_description": "The request parameters do not match any of the supported authorization flows. Please refer to the API documentation for the correct parameters."}


I am unsure of what needs to be corrected. Because this is not functioning correctly, I am unable to proceed with obtaining the refresh token.
I would appreciate your advice.

  • When you say you executed it, it sounds like you're referring to the step where you call /oauth2/token to exchange the authorization code for a refresh token and access token. It looks you're sending the parameters as JSON though, but the /oauth2/token endpoint requires application/x-www-form-urlencoded POST parameters, not JSON. Please update your code to send those parameters as application/x-www-form-urlencoded POST parameters. There's an example of this flow here that may be helpful.

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    When you say you executed it, it sounds like you're referring to the step where you call /oauth2/token to exchange the authorization code for a refresh token and access token. It looks you're sending the parameters as JSON though, but the /oauth2/token endpoint requires application/x-www-form-urlencoded POST parameters, not JSON. Please update your code to send those parameters as application/x-www-form-urlencoded POST parameters. There's an example of this flow here that may be helpful.

    • Kentwt's avatar
      Kentwt
      New member | Level 2

      Thank you for your help. It is working properly now.