私は持っている
Dropbox からファイルをダウンロードできるサービスをクライアントに提供しようとした Web サイトがあります。開発を簡単にするために、Dropbox chooserを使用します。このために、ダウンロード元と予想されるドメインを有効に<script>
し、Dropbox 自体によって提案されたタグ (対応するdata-app-key
) を HTML ページに含めます。すべてが甘く機能します。
問題
次に、ユーザーが選択したファイルをダウンロードする必要があります。 Dropbox セレクターは、このための機能を提供していないようです。ファイルに関する情報を取得するだけです。私の場合、これはdirect link
ファイルをダウンロードするための です。
ファイルをダウンロードするには、 //cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.9.1/dropbox.min.jsDropbox.Client
にある別の 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
ません」という通知が表示され、ファイルをダウンロードできません。
質問
この問題を解決するにはどうすればよいですか。?