Oauth 通过核心API使用dropbox,但避免登录页面

Oauth 通过核心API使用dropbox,但避免登录页面,oauth,oauth-2.0,dropbox,dropbox-api,dropbox-php,Oauth,Oauth 2.0,Dropbox,Dropbox Api,Dropbox Php,我想为我的文件共享应用程序使用Dropbox,使用核心Dropbox API。我正在使用OAuth2.0API进行身份验证(隐式授权方法)。 问题是,为了获得访问令牌,我需要登录到dropbox帐户,否则它会将我重定向到dropbox登录页面。我不希望我的用户输入登录凭据 有没有办法避免登录过程,直接获取访问令牌?? 或者,我可以在后台使用一些登录api登录,而不需要用户操作吗 在这里,我正在考虑一个Dropbox帐户,它的所有必要的凭据都在我身边 谢谢。既然您想使用您的Dropbox帐户来存储

我想为我的文件共享应用程序使用Dropbox,使用核心Dropbox API。我正在使用OAuth2.0API进行身份验证(隐式授权方法)。 问题是,为了获得访问令牌,我需要登录到dropbox帐户,否则它会将我重定向到dropbox登录页面。我不希望我的用户输入登录凭据

有没有办法避免登录过程,直接获取访问令牌?? 或者,我可以在后台使用一些登录api登录,而不需要用户操作吗

在这里,我正在考虑一个Dropbox帐户,它的所有必要的凭据都在我身边


谢谢。

既然您想使用您的Dropbox帐户来存储文件,就没有理由用登录来打扰其他/您的用户:只需以常规方式为您的客户获取
访问令牌(这需要您登录Dropbox)将其存储在应用程序中,并在对Dropbox API的调用中使用该
访问\u令牌。Dropbox的访问令牌永远不会过期,因此这应该是您所需要的。

正如您可能在核心api文档中看到的,Dropbox不提供此功能

不过,您可以通过模拟用户与网站的交互来自动化该过程。这可以通过请求模块完成。我为我的项目开发了一个解决方案:


也许使用PhantomJS这样的解决方案可以更容易地做到这一点,尽管我当时并不知道这一点。

将我自己的问题的可能解决方案放在这里: 这里的主要问题是关于每隔一段时间重新生成访问令牌,这也是在没有任何用户交互的情况下,后端的事情。 在浏览了Dropbox API之后,我得出结论,没有公开用于自动重新生成访问令牌的API。 但一定要提供不需要用户交互的服务。

是的,您可以这样做

请执行以下操作:

去 点击“应用程序控制台” 点击“创建应用程序” 选择“Dropbox API应用程序” 选择“文件和数据存储”作为数据类型。 回答其余问题时,请使用您自己的访问偏好

这是你需要的一点。安装应用程序后,在应用程序控制台中,单击应用程序。在应用程序的主页上,OAUTH2部分有一个按钮,上面写着“生成访问令牌”

单击此按钮,它将生成一个非过期访问令牌,您可以复制/粘贴该令牌,并在应用程序中使用该令牌来授予您访问权限,而无需执行Oauth2身份验证

下面是一个使用带有curl的访问令牌列出文件夹中的文件(并获取其他元数据)的示例


卷曲https://api.dropbox.com/1/metadata/dropbox/YourFolder -H“授权:持有人XYZ123”

其中XYZ123是您从应用程序的应用程序控制台生成的访问令牌


只要在请求的标头中包含Authorization:Bearer,您就可以使用中的所有API调用,而无需提供应用程序ID、密码或执行oauth2身份验证舞蹈。

是的,访问令牌本身永远不会过期,但我有一个特定要求,需要在某个时间后禁用访问令牌,因此,文件共享URL仅在有限的时间内可用。要获取新的访问令牌,dropbox需要登录,这是我想要克服的特定条件,需要用户交互。您正在寻找dropbox不支持的
刷新\u令牌
,但从dropbox应用程序控制台,我们每次都可以生成新的访问令牌,不知何故,我不想实现这一功能。像这样通过编程为Dropbox API获取新的访问令牌是不可能的,但请注意,撤销Dropbox API访问令牌实际上并不会禁用共享链接。目前没有用于撤消共享链接的API调用,但您可以通过以下方式手动执行此操作:。允许其他人访问您的帐户可能不是一个好主意:您可能要对其他人放在那里的内容负责。此外,这将允许任何用户删除所有内容。请注意,这种类型的屏幕抓取迟早会中断later@Greg:嗯,我不同意。但我想我们对文本的解释并不重要。我对该领域专家的意见和Dropbox对此的意见感兴趣。这对我来说很有效,只需添加一项,在另一个用户的API调用中,您必须为给定用户指定HTTP头:“Dropbox API Select user”:“dbmid:ABCDEFG…”。Dropbox不会使访问令牌无效,他们将其视为刷新令牌-并且他们没有刷新令牌。想想看吧