Forum Discussion

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

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.