我对如何从我的网络应用程序到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?
答案 0 :(得分:1)
首次registering a Dropbox app时,您可以选择" Dropbox API"或者" Dropbox Business API"。前者将为您提供连接到个人用户帐户的应用程序,后者将为您提供连接到整个业务团队的应用程序。
您尝试使用的filesListFolder
方法是一种特定于用户的方法,即它在特定用户帐户上运行,而不是完全在业务团队中运行。
错误消息表明您的访问令牌适用于业务团队,因此它不知道要操作哪个用户。
如果您希望任何用户连接到您的应用,您应该注册一个" Dropbox API"应用程序。
或者,如果您确实只想连接到整个Dropbox业务团队(并选择"团队成员文件访问权限"权限),您仍然可以将用户端点与Dropbox Business的访问令牌一起使用API应用。为此,您需要在selectUser
参数when making your Dropbox
object.