Dropbox集成应用程序

时间:2017-12-14 15:40:22

标签: node.js dropbox dropbox-api

我对如何从我的网络应用程序到Dropbox创建正确的集成感到非常困惑。

我想从应用程序中列出并创建文件。 我到目前为止使用的是NodeJS和Dropbox JS SDK。

但我不了解如何设置身份验证/授权。

我创建了一个Dropbox应用程序,生成了一个API密钥。 我在调用Dropbox SDK时传递了API密钥:

var dbx = new Dropbox({
accessToken:
  "ABC_MY_KEY_123"
});
dbx
.filesListFolder({ path: "" })
.then(function(response) {
  console.log(response);
})
.catch(function(error) {
  console.log(error);
});

我收到以下错误:

状态:400, [0]错误:'调用API函数时出错" files / list_folder":此API函数在单个Dropbox帐户上运行,但您提供的OAuth 2访问令牌适用于整个Dropbox Business球队。由于您的API应用密钥具有团队成员文件访问权限,因此您可以通过提供" Dropbox-API-Select-User"来操作团队成员的Dropbox。 HTTP标头或" select_user"用于指定确切用户https://www.dropbox.com/developers/documentation/http/teams

的网址参数

那么,我的应用程序是否拥有自己的用户,然后使用该用户进行身份验证?

或者是否存在Dropbox业务明智的API?

1 个答案:

答案 0 :(得分:1)

首次registering a Dropbox app时,您可以选择" Dropbox API"或者" Dropbox Business API"。前者将为您提供连接到个人用户帐户的应用程序,后者将为您提供连接到整个业务团队的应用程序。

您尝试使用的filesListFolder方法是一种特定于用户的方法,即它在特定用户帐户上运行,而不是完全在业务团队中运行。

错误消息表明您的访问令牌适用于业务团队,因此它不知道要操作哪个用户。

如果您希望任何用户连接到您的应用,您应该注册一个" Dropbox API"应用程序。

或者,如果您确实只想连接到整个Dropbox业务团队(并选择"团队成员文件访问权限"权限),您仍然可以将用户端点与Dropbox Business的访问令牌一起使用API应用。为此,您需要在selectUser参数when making your Dropbox object.

中指定所需的成员ID