我有
我有一个网站试图向客户提供一项服务,以便能够从 Dropbox 下载文件。为了简化开发,我使用Dropbox 选择器。为此,我启用了我希望从中下载的域,并将<script>
Dropbox 本身建议的标签(带有相应的data-app-key
)包含到我的 HTML 页面中。一切都很甜蜜。
问题
现在我需要下载用户选择的文件。 Dropbox 选择器似乎没有为此提供任何功能,它所做的只是检索有关文件的信息。在我的情况下,这是一个direct link
, 来下载文件。
在我看来,要下载文件,我需要使用Dropbox.Client
在//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.9.1/dropbox.min.js的另一个 Dropbox javascript 库中定义的文件
所以使用那个库我运行这样的代码:
//OPTIONS FOR DROPBOX CHOOSER
var options = {
linkType: "direct",
// THIS FUNCITON RUNS WHEN USER SELECTS SOMETHING
// FROM DOPBOX_CHOOSER
success: function (files) {
// DEFINE APP KET FOR DROPBOX_CLIENT (KEY, SECRET...), WHICH I GET
// BY CREATING NEW "CORE API" TYPE:Full Dropbox APPLICATION ON
// DROPBOX APP CONSOLE
var appKey = { key: 'APP KEY', secret: 'CLIENT SECRET', sandbox: true };
//INIT CLIENT
var client = new Dropbox.Client(appKey);
//TRY TO AUTHENTICATE IT
client.authenticate(function (error, client) {
if (error) {
console.log(error);
}
if (client.isAuthenticated()) {
//READ FILES
for (var i = 0; i < files.length; i++) {
var file = files[i];
client.readFile(file.link, function (error, data) {
if (error) {
return console.log(error); // Something went wrong.
}
alert(data); // data has the file's contents
});
}
} else {
console.log("Error on authentication");
}
});
},
cancel: function () {
}
};
//OPEN DROPBOX_CHOOSER
Dropbox.choose(options);
但这一切都没有报告我:
如果我不打电话 client.authenticate
,我将无法下载文件,因为收到“未授权错误”通知。
问题
我该如何解决这个问题。?