如何使用Google File Picker API下载文件?

时间:2019-08-08 15:07:47

标签: javascript vb.net google-api

我一直在关注此Google File Picker tutorial,到目前为止,我一直在显示文件选择器并获取URL,但是我不知道如何使用JavaScript下载文件。如果我可以使用VB.NET,那么有人可以指出正确的方向吗?

我已经可以使用VB.NET从自己的数据库中下载文件,但是我不知道如何使用Google API或JavaScript来获取文件。

所有文件选择器代码均有效,我从FilePicker的onSelect调用此代码:

function downloadGDriveFile(file) {
   if (file.downloadUrl) {
      var accessToken = gapi.auth.getToken().access_token;
      var xhr = new XMLHttpRequest();
      xhr.open('GET', file.downloadUrl);  // use selfLink??
      xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
      xhr.onload = function () {
         var content = xhr.responseText;
      };
      xhr.onerror = function () {
         alert('Download failure.');
      };
      xhr.send();
   } else {
      alert('Unable to download file.');
   }
}

当我单击下载URL时,出现此错误:

  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."

1 个答案:

答案 0 :(得分:0)

您发布的错误是您的帐户达到最大使用限制的问题。与下载文件不同的问题。我对Google文件选择器api没有任何了解,但是我将假定它在浏览器中。

您可能必须指定req.responseType = "arraybuffer",因为它可能默认为json。

我建议使用http://danml.com/download.html。出于安全原因,浏览器API不会公开下载模式。技巧是创建一个不可见的a标签,将网址设置为您收到的正文的Blob,然后以编程方式click标签。提供的库正是这样做的。