We're making changes to the Community, so you may have received some notifications - thanks for your patience and welcome back. Learn more here.
Forum Discussion
Zohanlon
2 years agoHelpful | Level 5
Using Powershell to get a token
I'm trying to make a simple powershell script to upload a file to a shared folder, then automatically generate a view only sharing link with a specified expiration time and a password.
I made a dropbox app, set the permissions, generated a token, used the token and the REST api endpoints to upload the file, and then created the sharing link with the right settings. All was well in the world.
Then only a few hours later the token expired. So I looked through the documentation for the API endpoints to find a way to programmatically get my own personal token, only to find nothing useful. Everything was either for another language, or assumed that I'm making a web app that can use webhooks or something. I looked elsewhere on the internet, and it appears that all powershell specific guides are from the era of permanent tokens.
Is there any relatively easy way to request a token using powershell so that I can upload my own file to my own dropbox folder automatically?
Thanks,
Greg,
Thanks for the response. I spent a couple of hours trying to get the refresh token thing to work and I never really understood it. So I'm putting a halt to my project because the effort to complete it using the new auth method is going to be more effort than this whole project going to save me. It's really unfortunate that this project would have worked flawlessly before the API key expiration change, but that's life.
- ЗдравкоLegendary | Level 20
Hi Zohanlon,
In spite some time ago was possible to receive long lived access token, it's not possible anymore. You can still use available long lived access token if you have one (in the way you are trying to), but new one cannot be issued; all new tokens are short lived with validity period 4 hours, at most. For long term access you need refresh token and "refreshing" the access token every time it expires you have long term access access 😉. You can take a look here how you may organize your applications work. Refresh token doesn't expire automatically and alive until explicit revoke from either the application itself or user using your application.
Hope this helps.
- Greg-DBDropbox Staff
As Здравко noted, Dropbox is no longer offering the option for creating new long-lived access tokens. Dropbox is switching to only issuing short-lived access tokens (and optional refresh tokens) instead of long-lived access tokens. You can find more information on this migration here.
Apps can still get long-term access by requesting "offline" access though, in which case the app receives a "refresh token" that can be used to retrieve new short-lived access tokens as needed, without further manual user intervention. You can find more information in the OAuth Guide and authorization documentation. There's a basic outline of processing this flow in this blog post which may serve as a useful example. Dropbox doesn't have resources for PowerShell in particular though.- ZohanlonHelpful | Level 5
Greg,
Thanks for the response. I spent a couple of hours trying to get the refresh token thing to work and I never really understood it. So I'm putting a halt to my project because the effort to complete it using the new auth method is going to be more effort than this whole project going to save me. It's really unfortunate that this project would have worked flawlessly before the API key expiration change, but that's life.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,875 PostsLatest Activity: 2 minutes 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!