似乎在使用新版Google电子表格时,无法再使用JS下载整个Google电子表格。到目前为止,我一直在使用这种方法(对于之前创建的文件仍然可以正常工作):
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://docs.google.com/feeds/download/spreadsheets/Export?key=' + id + '&exportFormat=xlsx');
xhr.responseType = 'arraybuffer';
xhr.setRequestHeader('Authorization', 'Bearer ' + gapi.auth.getToken().access_token);
xhr.onload = function() {
...
};
xhr.send();
I have found the new download url:
https://docs.google.com/spreadsheets/d/_ID_/export?format=xlsx&id=_ID_
但遗憾的是,没有Access-Control-Allow-Origin
标头,因此无法使用JS访问链接。还有其他可能我可以下载文件吗?
Google Drive API将导出网址显示为:
https://docs.google.com/spreadsheets/export?id=_ID_&exportFormat=xlsx
但是也没有Access-Control-Allow-Origin
标题。
是否还有其他可能只使用JS下载此文件?
答案 0 :(得分:-1)
您应该可以使用此网址下载它:
https://docs.google.com/spreadsheet/pub?key=XXX&output=xls
我创建了一个适用于此的示例:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
console.log('success', this.responseText.length);
}
};
xhr.open('GET', 'https://docs.google.com/spreadsheet/pub?key=0AsnymCBa0S5PdEtZdnEzcjlTenBIcldRNFMtSUdNUkE&output=xls', true);
xhr.send(null);