如何生成不会过期的 Dropbox API 访问令牌?

How can i generate a dropbox api access token that doesnt expire?

提问人:AlvinfromDiaspar 提问时间:11/5/2023 最后编辑:AlvinfromDiaspar 更新时间:11/7/2023 访问量:38

问:

是否可以为不过期的 DropBox API 访问生成访问令牌?

机缘巧合下,我发现生成的访问令牌仅持续几个小时,并且仅用于开发人员测试。

我想获取访问令牌(长期或短期),而不向用户显示确认页面,然后进行重定向。

这能实现吗?

更新到目前为止,我看到这是不可能的。https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/C-Get-Access-Token-without-browser-interaction/td-p/622443

enter image description here

访问令牌 dropbox-api

评论


答:

0赞 Greg 11/7/2023 #1

Dropbox 不提供完全自动化此过程的方法。用户需要至少手动授权应用一次。

请注意,Dropbox 不再提供创建新的长期访问令牌的选项。Dropbox 现在颁发短期访问令牌(和可选的刷新令牌),而不是长期访问令牌。您可以在此处找到有关此迁移的详细信息

不过,应用仍可以通过请求“离线”访问来获得长期访问权限,在这种情况下,应用会收到一个“刷新令牌”,该令牌可用于根据需要检索新的短期访问令牌,而无需进一步的手动用户干预。刷新令牌不会自动过期,并且可以重复使用,因此无需每次都手动重新授权应用。您可以在 OAuth 指南授权文档中找到更多信息。这篇博文中提供了处理此流程的基本概述,可以作为一个有用的示例。

评论

0赞 AlvinfromDiaspar 11/7/2023
谢谢格雷格。所以总结一下我的理解,我必须申请一次授权,没有办法吗?那么,一个没有前端供用户确认授权的应用程序如何工作呢?
0赞 AlvinfromDiaspar 11/7/2023
另外,在构造 /oauth2/authorize 请求时,我正在查看 <STATE> 参数有哪些值选项?
1赞 Greg 11/7/2023
是的,应用需要收到用户的授权才能访问该用户的帐户。这只需要做一次。(请注意,授权可以随时撤销。该应用程序需要以某种方式与用户交互才能最初获得该授权,但之后它可以在没有用户界面的情况下自行运行。
0赞 Greg 11/7/2023
您可以在 /oauth2/authorize 文档中找到有关如何使用该参数的信息。没有一组特定的值需要从中进行选择;您可以指定任意数据。state