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
isaacfink
2 years agoNew member | Level 2
No auth function available for given request js sdk
I am using the js sdk like this
const client = new dropbox.Dropbox({
accessToken: config.accessToken,
clientId: config.appKey,
clientSecret: config.secretKey,
});
dbx.auth.setRefres...
- 2 years ago
This looks correct. I also just tried this all myself and it worked successfully for me. (Setting refreshToken on dropbox.Dropbox and also calling setRefreshToken is redundant, but it shouldn't cause this issue as long as you're using the correct value.)
Please double check that you have copied in all of the values correctly, and didn't accidentally modify, misplace, or omit any of the values. For instance, your code here doesn't show how 'config' is set, so I can't replicate that exactly. I suggest printing out each each config value before you use them so you can check them.
For instance, make sure:
- 'config.appKey' is the same as the 'client_id' in the /oauth2/authorize URL that resulted in the authorization code
- 'config.secretKey' is the app secret that corresponds to the app key in 'config.appKey'
- 'config.appKey' is the same as the 'client_id' used in the /oauth2/token call
- 'config.secretKey' is the same as the 'client_secret' used in the /oauth2/token call
- 'config.refreshToken' is exactly the 'refresh_token' returned by /oauth2/token, and is a different string than each of the app key, app secret, access token, and authorization code
isaacfink
New member | Level 2
Thanks, here is the information you asked for
here is what I did, I created an app and went to this url
I got redirected to this screen
I then entered this in my terminal
curl https://api.dropbox.com/oauth2/token \
-d code=<the code I got from the previous image> \
-d grant_type=authorization_code \
-d client_id=<APP KEY> \
-d client_secret=<APP SECRET>
and got a response object
In my js script I have the following code
const client = new dropbox.Dropbox({
accessToken: config.accessToken,
clientId: config.appKey,
clientSecret: config.secretKey,
refreshToken:config.refreshToken
});
client.auth.setRefreshToken(config.refreshToken);
await client.filesUpload({
path: '/folder/image.jpg',
contents: buffer,
});
the access token and refresh token are what I got from the response from the curl request
I tried removing the refresh token in the class init and removing the client.auth.setRefreshToken but whatever combination of those I try gives me that error, I tried removing the accessToken an/or the clientId but nothing helped
Greg-DB
2 years agoDropbox Staff
This looks correct. I also just tried this all myself and it worked successfully for me. (Setting refreshToken on dropbox.Dropbox and also calling setRefreshToken is redundant, but it shouldn't cause this issue as long as you're using the correct value.)
Please double check that you have copied in all of the values correctly, and didn't accidentally modify, misplace, or omit any of the values. For instance, your code here doesn't show how 'config' is set, so I can't replicate that exactly. I suggest printing out each each config value before you use them so you can check them.
For instance, make sure:
- 'config.appKey' is the same as the 'client_id' in the /oauth2/authorize URL that resulted in the authorization code
- 'config.secretKey' is the app secret that corresponds to the app key in 'config.appKey'
- 'config.appKey' is the same as the 'client_id' used in the /oauth2/token call
- 'config.secretKey' is the same as the 'client_secret' used in the /oauth2/token call
- 'config.refreshToken' is exactly the 'refresh_token' returned by /oauth2/token, and is a different string than each of the app key, app secret, access token, and authorization code
- isaacfink2 years agoNew member | Level 2
Turns out the secret key was undefined, so much for avoiding typescript, thanks
About Discuss Dropbox Developer & API
Make connections with other developers
797 PostsLatest Activity: 2 days 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!