0

我使用此代码从谷歌驱动器选择器中检索文件。但是在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 和 + 中返回“拒绝访问”。 错误打印画面

4

1 回答 1

0

如果您使用的是 IE6 或任何旧浏览器,则需要使用特定的 rpc_relay 文件并将其放在应用程序的同一域中,然后修改其创建代码。

支持旧版浏览器

  1. 下载此文件:https ://www.google.com/ajax/picker/resources/rpc_relay.html 。
  2. 将文件放在与您的应用程序相同的域中。
  3. 修改 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 的更多信息可以在其文档中找到

于 2016-01-28T00:58:41.223 回答