Я использую Google Drive javascript api V2 для загрузки файлов. В течение некоторого времени это работало просто отлично, но сегодня происходит сбой, возвращая статус 0 с пустым текстом ответа. Глядя на сетевые вызовы, я вижу, что я успешно аутентифицируюсь и перехожу к нужным папкам и получаю список файлов, но он больше не загружает эти файлы.
Глядя глубже, я вижу первоначальный ответ для каждого загружаемого файла возвращается статус 307 (временное перенаправление) и местоположение перенаправления в заголовке ответа. Браузер автоматически обрабатывает местоположение с новым заголовком запроса, но я не получаю ответ с каким-либо контентом, скорее просто ошибка со статусом 0.
Есть ли конкретная c причина для статуса 307 и Есть ли особый способ их обработки?
Этот код используется для загрузки:
// Download file contents
downloadFile: function ( fileItem, callback ) {
var me = this,
accessToken,
xhr;
if ( fileItem.downloadUrl ) {
accessToken = gapi.auth.getToken().access_token;
xhr = new XMLHttpRequest();
xhr.onerror = function () {
callback( { error: { code: xhr.status, message: xhr.statusText } } );
};
xhr.open( 'GET', fileItem.downloadUrl, true );
xhr.setRequestHeader( 'Authorization', 'Bearer ' + accessToken );
xhr.overrideMimeType( "application/json" );
xhr.onreadystatechange = function () {
var DONE = this.DONE || 4;
if ( xhr.readyState === DONE ) {
if ( xhr.status === 200 ) {
callback( xhr.responseText );
} else {
callback( { error: { code: xhr.status, message: xhr.statusText } } );
};
};
};
xhr.send();
} else {
callback( { error: { code: "?", message: "Downloaded URL not specified" } } );
};
},