We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
jenseno
9 years agoExplorer | Level 4
"No auth function available for given request" return on /token request
Hi. I send the following form data with the code I got from the authorization page. I use redirect_uri back to my app through localhost.
However I get the following response (error code 400): "No auth function available for given request".
My request form data looks like this:
Header:
POST /oauth2/token HTTP/1.1
Host: api.dropboxapi.com
User-Agent: UnityPlayer/5.5.2f1 (UnityWebRequest/1.0, libcurl/7.46.0-DEV)
Accept: */*
Accept-Encoding: identity
X-Unity-Version: 5.5.2f1
Content-Length: 177
Post data:
code=KNJIALLS_WCAAAAAAABSTZP97AYWIZJPX9B1A6CBFUC&grant_type=authorization_code&client_id=<removed for security>&client_secret=<removed for security>&redirect_uri=http%3A%2F%2F127.0.0.1%3A6756
I could not find anything on google or the forums, so now I'm trying here.
I can see that auth authorization is missing (Authorization bearer) but the docs said nothing about this, and I don't have a token at this stage in the process anyway.
Thanks in advance
Odin Jensen
22 Replies
Replies have been turned off for this discussion
- Greg-DB9 years ago
Dropbox Community Moderator
bruce0205 If that doesn't seem to be the issue in your case, please supply the code to reproduce the issue for your case.
- Laurent228 years agoExplorer | Level 4
In my case I had this issue because I was using the wrong content type to post the data.
This endpoint is actually very confusing because unlike all the other endpoints (which accept application/json) it accepts application/x-www-form-urlencoded, and if you use the wrong format it will respond with this absurd error message "No auth function" even though there can't be an auth token at that point.In my tests other mistakes in the data format (like missing client ID or secret) also resulted in this error .
From the doc it's unclear whether client ID and secret are required or not (I have no idea what "If credentials are passed in
POSTparameters" means in this context) but they seem to be required anyway.So in my case I eventually got it working using this kind of request:
curl -v -F 'client_id=REMOVED' -F 'client_secret=REMOVED' -F 'code=REMOVED' -F 'grant_type=authorization_code' https://api.dropboxapi.com/oauth2/token
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!