【问题标题】:Using Dropbox API with Node.js将 Dropbox API 与 Node.js 一起使用
【发布时间】:2016-03-15 08:28:20
【问题描述】:
我正在使用 MEAN 框架开发一个 Web 应用程序,我希望在该应用程序中让用户能够上传文件。
现在主要的事情是:
- 所有用户上传的文件都应该上传到一个单独的保管箱帐户(我的帐户)
- 他们只会上传最大大小为 20MB 的文件(我已经构建了在上传前检查文件大小的功能)
我做了什么:
我去 Dropbox 开发人员那里,我已经设置了我的应用程序。现在我可以访问我的 appKey、appSecret 以及 Access Token
我的问题:
- 我是否可以连接单个保管箱帐户(我的
帐户) 到我的应用,并允许我的应用中的用户通过我的应用界面从 Dropbox 上传/下载文件?
- 由于我已经拥有访问令牌,我或我的应用程序中的每个用户是否仍需要通过
OAUTH 流程?
- 我可以将我的访问令牌与每个请求一起发送到 Dropbox api
用户通过我的应用上的特定表单上传文件的时间?
如果您能提供一个非常有用的示例或链接。
更新:
我使用 Dropbox 开发者控制台上的以下按钮生成了我的令牌:
【问题讨论】:
标签:
javascript
node.js
dropbox
dropbox-api
【解决方案1】:
假设:假设您的应用程序的用户是“合法的”,并且他们不会对您的保管箱文件做任何您应该关心的事情。
是的。您可以将您的应用配置为 Dropbox 的使用者;当然,您的应用程序还必须确保应用程序的用户是合法的(通过用户/密码登录等检查他们)--注意:后果可能是任何能够使用您的应用程序的未经授权的人都可以永久删除您的所有文件(或根据权限做任何坏事)
-
访问令牌是 OAuth 的一部分,因此我不确定您所说的“进程”是什么意思。我会将您的问题解释为“如何刷新我的令牌?”。简单地说,在您的应用程序每次调用 Dropbox API 之前,您检查访问令牌的到期时间:如果它仍然有效,您只需执行调用,否则您请求一个新令牌。在这种情况下,您不需要刷新令牌:您正在使用的 OAuth 机制(或按照 OAuth 术语的“授权流程”,或使用您的词的“流程”)称为“客户端凭据授权流程”
见上文 2)
为您提供一些链接:这里有一些overview 的赠款流。
该授权流程的Here a schema(注意:MS 使用另一个名为“ActiveDirectory”的组件来授予权限;在您的情况下,“Azure AD”和“资源 API”都只是“保管箱服务器”)