我有一个基本的 JavaScript 代码片段,可以从谷歌驱动器下载公开共享的文件。我创建了一个 API 密钥并将我的域配置为允许的引荐来源网址列表中。当尝试打开导出链接时,我收到典型的 CORS 错误,如下所述https://developers.google.com/drive/web/manage-downloads。在浏览器中访问时,下载链接工作正常。
错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.example.com' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)
代码:
// setup api key
gapi.client.setApiKey('myKey');
// load libraries and get file from drive API
...
// download file
var xhr = new XMLHttpRequest();
xhr.open('GET', file['exportLinks']['text/csv']);
xhr.onload = function() {
callback(xhr.responseText);
};
xhr.onerror = function() {
callback(null);
};
xhr.send();
Run Code Online (Sandbox Code Playgroud)
我已确认这是 Drive API 中的错误,但它仅影响新 Google 表格文件的导出链接。旧版 Google 表格和其他 Google 文件类型应该可以正常工作。我已经向团队提出了这个问题,但尚不清楚需要多长时间才能修复。不幸的是,没有简单的解决方法,唯一的解决方案是引入一个服务器端组件来下载文件,然后将其传递给客户端。
| 归档时间: |
|
| 查看次数: |
1787 次 |
| 最近记录: |