我使用此代码从google驱动器选择器中检索文件。但是在 IE 浏览器上,它会在通话时返回错误。
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);
}}
在Chrome和Firefox中运行正常,但在IE 11和+中返回"访问被拒绝"。 Error print screen
答案 0 :(得分:0)
如果您使用的是IE6或任何旧浏览器,则需要使用特定的rpc_relay文件并将其放在应用程序的同一域中,然后修改其创建代码。
支持较旧的浏览器
使用更正后的路径修改Picker创建代码:
var picker = new google.picker.PickerBuilder().
addView(google.picker.ViewId.IMAGE_SEARCH).
setDeveloperKey(developerKey).
setCallback(pickerCallback).
setRelayUrl('http://www.yoursite.com/somedir/rpc_relay.html').
build();
有关Picker API的更多信息,请参见其documentation