Https://www.googleapis.com/upload/drive/v2/files действительно поддерживает CORS?

Update: Это ошибка в GoogleDrive, CORS не включен для загрузки URI. @Nivco указал мне на способ работы с клиентской библиотекой Google, которая использует iframe и прокси (не CORS). Я помещаю (проверенный) рабочий код внизу вместе с подробным объяснением. Пожалуйста, смотрите ответ ниже для примера.

Вставка файла в Google Drive через API а такжеАвторизация Google Диска с использованием JavaScript скажем, что конечные точки загрузки поддерживают CORS, но я не смог их использовать. Я могу получить авторизацию и вставить пустой файл, используяФайлы: вставка, но я не могу загрузить контент на него - при использовании я получаю ошибку 405 (метод не разрешен)https://www.googleapis.com/upload/drive/v2/files когда я использую любую из двух техник, приведенных в примере, во вставке после переполнения стека файлов.

Возможно ли, что CORS работал для v1 и не был включен для v2?

РЕДАКТИРОВАТЬ: Кстати, ошибка 405 в запросе OPTIONS, что делает Chrome.

РЕДАКТИРОВАТЬ: Вот код одной из моих попыток:

Прежде чем представить код, я хочу подчеркнуть, что я могу проходить проверку подлинности и перечислять файлы. Я просто не могу загрузить данные в файл.

var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart');
xhr.setRequestHeader('Authorization', 'Bearer ' + params.access_token);
xhr.setRequestHeader("Content-Type",  'multipart/related; boundary="END_OF_PART"');
xhr.onreadystatechange = function(data) {
  if (xhr.readyState == DONE) {
    document.getElementById("files").innerHTML = "Uploaded file: " + xhr.responseText;
    };
  }
xhr.send([
  mimePart("END_OF_PART", "application/json", json),
  mimePart("END_OF_PART", "text/plain", "a\nb\n"),
  "\r\n--END_OF_PART--\r\n",
].join(''));
function mimePart(boundary, mimeType, content) {
  return [
    "\r\n--", boundary, "\r\n",
    "Content-Type: ", mimeType, "\r\n",
    "Content-Length: ", content.length, "\r\n",
    "\r\n",
    content,
  ].join('');
}

Вот запрос:

Request URL:https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart
Request Method:OPTIONS

Вот ответ:

Status Code:405 Method Not Allowed
cache-control:no-cache, no-store, must-revalidate
content-length:0
content-type:text/html; charset=UTF-8
date:Mon, 23 Jul 2012 22:41:29 GMT
expires:Fri, 01 Jan 1990 00:00:00 GMT
pragma:no-cache
server:HTTP Upload Server Built on Jul 17 2012 16:15:04 (1342566904)
status:405 Method Not Allowed
version:HTTP/1.1

Ответа нет, поскольку Chrome получает ошибку 405 для этого запроса OPTIONS. POST отсутствует, поскольку Chrome не может продолжить работу, поскольку его запрос OPTIONS не выполнен с 405, и поэтому он выводит эту ошибку в консоли:

XMLHttpRequest cannot load https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart. Origin https://leisurestorage.appspot.com is not allowed by Access-Control-Allow-Origin.

Ответы на вопрос(3)

Ваш ответ на вопрос