我一直在试图弄清楚如何从Internet Explorer中的Drive下载文件。似乎跨域安全问题阻止了这一点。
使用XMLHttpRequest的简单'GET'在Chrome和Firefox中运行良好,因为它支持请求标头,允许浏览器请求CORS响应,如以下代码行所示:
var xhr = new XMLHttpRequest();
xhr.open('GET', file.downloadUrl);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() {
callback(xhr.responseText);
};
xhr.send();
IE不支持请求标头,据称是出于安全原因。由于无法在这个不幸的流行浏览器中下载内容,我完全陷入困境。
我的问题是 - 世界上这些其他应用程序如何解决这个问题?他们是否使用某种服务器端代理,并通过自己的后端汇集所有驱动器请求?在这一点上,这似乎相当艰巨。或者,有没有办法在启动时访问驱动器文件,我不知道?
我已经看到一些解决方案需要两台服务器上的文件,据我所知,这不是一个选项。 Google云端硬盘是否能够在没有请求标头的情况下使用CORS进行响应,或者是否有其他我不知道的API支持从Drive域中的iframe进行某种回调?
此时我在水中已经死了。任何提示将非常感谢。很抱歉不得不提出任何与MS产品有关的问题。
答案 0 :(得分:2)
如果问题是IE不允许您添加或不传递Authorization
标头,您可以尝试使用access_token
URL参数传递访问令牌,该参数与{{ 1}}标题:
Authorization