1

JavaでGoogleドライブAPIを使用して、Googleドライブからドキュメントをダウンロードしました。しかし、Java の代わりに JavaScript を使用したいと考えています。だから私はドライブ API クライアント ライブラリ Java スクリプト コードを使用しています。これを達成するために以下のコードを使用しています

function downloadFile(file, callback) {
  if (file.downloadUrl) {
    var accessToken = gapi.auth.getToken().access_token;
    var xhr = new XMLHttpRequest();
    xhr.open('GET', file.downloadUrl);
    xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
    xhr.onload = function() {
      callback(xhr.responseText);
    };
    xhr.onerror = function() {
      callback(null);
    };
    xhr.send();
  } else {
    callback(null);
  }
}

私の問題は、すべてのファイル名と内容を表示できることです。しかし、ファイルをダウンロードできません。追加のコードを実行する必要がありますか? ファイルをローカル システムに保存するにはどうすればよいですか。助言がありますか ?注:file.downloadUrlブラウザーに downloadUrl を貼り付けても値を取得できますが、結果は得られず、空白のページが表示されるだけです。

4

1 に答える 1

0

「ブラウザーに downloadUrl を貼り付けても結果は得られません」は正しいです。ブラウザーを使用して GET すると認証ヘッダーがないからです。ステータスを確認すると、401 エラーが表示されます。

「 Bearer」ではなく、「Authorization: ' OAuth ' + gapi.auth.getToken()['access_token']」を使用します。それが重要かどうかはわかりません。

downloadUrl は最新のものですか? これは有効期間が短い属性であるため、リンクの有効期限が切れている可能性があります。

アクセス トークンが無効である可能性もあります。Burcuが言ったように、あなたの答えはおそらくあなたのxhr getへの応答とステータスにあります。

于 2013-07-25T07:21:41.660 に答える