Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
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
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!".
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.
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.
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
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.
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.
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.
Hi there!
If you need more help you can view your support options (expected response time for a 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!