Your workflow is unique 👨💻 - tell us how you use Dropbox here.
Forum Discussion
Mixware
8 years agoExplorer | Level 3
How to relink a user (revoke) using the javascript api.
Can anyone show me an example how to use the javascript api to revoke and then let the user re-link to Dropbox?
Greg-DB
Dropbox Community Moderator
8 years agoTo revoke an access token using the JavaScript SDK, you should use authTokenRevoke:
https://dropbox.github.io/dropbox-sdk-js/Dropbox.html#authTokenRevoke__anchor
Then, you can just throw away the old access token and start the app authorization flow over if/when necessary, e.g.,:
https://github.com/dropbox/dropbox-sdk-js/blob/master/examples/javascript/auth/index.html#L88
https://dropbox.github.io/dropbox-sdk-js/Dropbox.html#authTokenRevoke__anchor
Then, you can just throw away the old access token and start the app authorization flow over if/when necessary, e.g.,:
https://github.com/dropbox/dropbox-sdk-js/blob/master/examples/javascript/auth/index.html#L88
Mixware
8 years agoExplorer | Level 3
Hi Greg.
I will be very pleased if you can provide a working example of the revoke process.
The authenticate works fine using this code:
var DROPBOX_APP_KEY = 'mydropboxappkey';
var dbx = new Dropbox({clientId:DROPBOX_APP_KEY});
dbx.authenticateWithCordova(
function(accessToken)
{
//user is logged in
});
but I can't get the revoke process work.
Maybe I just don't understand the basic use of the api.
I think there is a lack of real life code snippets.
I have tried something like
dbx.authTokenRevoke(arg).
I don't understand what "arg" should be.
Should it be a function?
Cheers Erik
- Greg-DB8 years ago
Dropbox Community Moderator
Here's an example of how this would work:
var dbx = new Dropbox({ accessToken: 'ACCESS_TOKEN_HERE' }); dbx.authTokenRevoke() .then(function(response) { // the access token for `dbx` has been revoked console.log("got authTokenRevoke response:"); console.log(response); // this should fail now: dbx.usersGetCurrentAccount() .then(function(response) { console.log("got usersGetCurrentAccount response:"); console.log(response); }) .catch(function(error) { console.log("got usersGetCurrentAccount error:"); console.log(error); }); }) .catch(function(error) { console.log("got authTokenRevoke error:"); console.log(error); }); - Mixware8 years agoExplorer | Level 3
I think this works, right!
var DROPBOX_APP_KEY = 'mydropboxappkey';
var dbx = new Dropbox({clientId:DROPBOX_APP_KEY});
dbx.authTokenRevoke(
function()
{
});But then I am still logged in until I restart my app.
Anything I can do to re-link without restarting my app?- Mixware8 years agoExplorer | Level 3Okay. I did not see your latest reply befor I posted my last one.
I will study that! - Mixware8 years agoExplorer | Level 3
Ok. I can get the revoke working by using your code. But I have to restart my app to get the Dropbox login dialog.
If I run authenticateWithCordova right after revoke, I'm just logged in again without the need of writing my username and password.
Anything to do?- Greg-DB8 years ago
Dropbox Community Moderator
It sounds like you're referring to still being signed in to the Dropbox web site (www.dropbox.com) itself in the browser. This is unrelated to the API/access token.
To sign out of the web site, the user can do so themselves via the "Sign out" link, or the app can direct them to https://www.dropbox.com/logout .
About Dropbox API Support and Feedback
Get help with the Dropbox API from fellow developers and experts.
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!