2016-01-27 6 views
0

Я использую этот код для извлечения файла из сборщика Google. Но на IE браузер возвращает ошибку при вызове.Файл Gdrive get JS не работает, т.е.

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 и + возвращается «Access denied».

ответ

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(); 
    

Более подробную информацию о API Picker можно найти в documentation

+0

я испытывал на ie11 и края. Я попробую это сейчас. – user3402815