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
pineapps
7 years agoHelpful | Level 5
OAuth2 access token request - Basic authentication not working
I am trying to integrate Dropbox in my webservice. However I decided to use a direct integration instead of any APIs as I need a limited number of functions only and not used to code object orientate...
- 7 years ago
Thanks! The API is indicating that the request wasn't valid. This particular error message isn't too specific, but it seems to be indicating that the necessary information wasn't given.
Looking through your code, you appear to be sending the parameters as JSON. The /oauth2/token endpoint expects application/x-www-form-urlencoded POST parameters though (with the app key and secret in particular optionally sent in the Authorization header instead).
Please update your code to send the rest of the parameters as application/x-www-form-urlencoded POST parameters instead.
pineapps
Helpful | Level 5
Greg K. schrieb:
That appears to be the response headers only. Can you print the response body?
I managed to get additional information from the HTTP request:
{"url":"https:\/\/api.dropboxapi.com\/oauth2\/token","content_type":"application\/json","http_code":400,"header_size":385,"request_size":350,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.287188,"namelookup_time":0.004172,"connect_time":0.018384,"pretransfer_time":0.053378,"size_upload":23,"size_download":97,"speed_download":337,"speed_upload":80,"download_content_length":-1,"upload_content_length":23,"starttransfer_time":0.287049,"redirect_time":0,"redirect_url":"","primary_ip":"162.125.66.7","certinfo":[],"primary_port":443,"local_ip":"85.13.153.199","local_port":45981}
Last data received
{"error_description": "No auth function available for given request", "error": "invalid_request"}
Greg-DB
7 years agoDropbox Staff
Thanks! The API is indicating that the request wasn't valid. This particular error message isn't too specific, but it seems to be indicating that the necessary information wasn't given.
Looking through your code, you appear to be sending the parameters as JSON. The /oauth2/token endpoint expects application/x-www-form-urlencoded POST parameters though (with the app key and secret in particular optionally sent in the Authorization header instead).
Please update your code to send the rest of the parameters as application/x-www-form-urlencoded POST parameters instead.
- pineapps7 years agoHelpful | Level 5
Greg K. schrieb:
Thanks! The API is indicating that the request wasn't valid. This particular error message isn't too specific, but it seems to be indicating that the necessary information wasn't given.
Looking through your code, you appear to be sending the parameters as JSON. The /oauth2/token endpoint expects application/x-www-form-urlencoded POST parameters though (with the app key and secret in particular optionally sent in the Authorization header instead).
Please update your code to send the rest of the parameters as application/x-www-form-urlencoded POST parameters instead.
This helps me very much!
I tried to fix this with a simple but dirty solution
$response = file_get_contents('https://my_app_id:my_app_key@api.dropboxapi.com/oauth2/token', FALSE, http_build_query($parameters));
Which seems to be almost working (at least detects if I am missing parameters, so the authentication seems to work).
The result of the function http_build_query is
code=authcodegoeshere&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fmydomain.com%2Ffile.php
and should be in the correct format.
The updated error says this:
:{"error_description": "unknown field \"var1\"", "error": "invalid_request"}
Thank you very much for your help!
Edit: Got it! Created a new complex function accessing the data with curl. Thank you very much for your help, this helped me very much!
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,912 PostsLatest Activity: 39 minutes 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!