Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
lsteel11
4 years agoExplorer | Level 4
Generating Refresh Token using example code
Hi,
I am trying to generate a refresh token following the example code (https://github.com/dropbox/dropbox-sdk-python/blob/main/example/oauth/commandline-oauth-pkce.py) (but with my app key etc).
I am able to successfully implement it up until line 19. When I run the next section python just shuts down. Any help would be much appreciated! Thank you!
Laura
7 Replies
- Greg-DB4 years ago
Dropbox Community Moderator
Can you elaborate on what you mean when you say "python just shuts down"? Is there any error/output?
After line 19, you should either get an error printed via line 22, or execution should continue and perform the users_get_current_account call (though this minimal example doesn't actually do anything with the result) and then print "Successfully set up client!".
- lsteel114 years agoExplorer | Level 4
Hi Greg,
Thanks for your response. I have taken a screenshot (below). When I click return at this point (so that I can then run the next section of code) the python window closes immediately. I presume this is something to do with the exit(1) command? Many thanks.
- Greg-DB4 years ago
Dropbox Community Moderator
It looks like you're running your python3.10.exe directly, and the window is closing automatically when the program completes (such as from the exit call, as you mentioned). I can't really offer support for your development environment itself as that's not made by Dropbox, but there are other ways to set this up so that you get to see the output even once execution completes, e.g., you may want to save the code as a file and run that from the command line.
- lsteel114 years agoExplorer | Level 4
Hi Greg,
I see! I have now run the file from the command line and output "successfully set up client!"
What is the next step to actually generating a refresh token?
Many thanks,
Laura
- Greg-DB4 years ago
Dropbox Community Moderator
If you've reached "Successfully set up client!" in that sample, you've already successfully processed the app authorization flow and retrieved a refresh token. The refresh token is in 'oauth_result.refresh_token' in that sample, e.g., as used in line 25. For your actual app, you can store and re-use that.
- lsteel114 years agoExplorer | Level 4
Hi Greg,
Sorry - still having trouble. I have retrieved (what I think is) the refresh token - I added "print (oauth_result.refresh_token) to the end of the script and ran it from the command line etc, and it output what looked like a token.
However, when I put this token in the NodeRed dropbox node, it says that the access token is invalid.
If you had any further thoughts on this it would be much appreciated. Thank you.
- Greg-DB4 years ago
Dropbox Community Moderator
Refresh tokens and access tokens are not interchangeable. Refresh tokens cannot be used as access tokens. Refresh tokens are instead used to programmatically retrieve new short-lived access tokens whenever needed (without manual user interaction).
The official Dropbox SDKs will do that for you automatically, e.g., if you create the client as shown in line 25 of the example.
I can't provide support for "the NodeRed dropbox node" as that's not made by Dropbox though, so you may need to refer to the documentation or support resources for that for information on configuring that.
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!