Создание файла Google Sheets с запросом REST - PullRequest
0 голосов
/ 09 декабря 2018

Я действительно новичок в концепции REST и пытаюсь работать с Google Sheets, Drive и Classroom API.Мне удалось получить данные реестра, но я не могу понять, как решить эту проблему с помощью parseError, и поиск в Google в течение нескольких часов не помог.

let init = {
      method: "POST",
      async: true,
      headers: {
        Authorization: "Bearer " + token,
        "Content-Type": "application/json",
      },
      body: {
        "mimeType": "application/vnd.google-apps.spreadsheet"
      },
      "contentType": "application/json"
    };
    fetch('https://www.googleapis.com/drive/v3/files?key='+apicall, init) 
    .then((response) => response.json())
    .then(function(data) {
      console.log(data);
      console.log(init);
    });

Журналы консоли предназначены для просмотра данных, их явно не будет в конечном проекте, но каждый раз, когда я отправляю запрос, выдается ошибка 400 parseError, которая Google ясно говорит мне, что это ошибка типа контента , но я указал, что это JSON, поэтому я немного запутался.Любая помощь очень ценится!

1 Ответ

0 голосов
/ 09 декабря 2018

Я разобрался с собственным ответом после некоторого возни.Я изменил Content-Type на application/javascript.Хотя это было не то, что я искал, он выдал ошибку, говорящую об изменении fetch URI.Я попытался, и он сделал файл Javascript, содержащий ничего, кроме [object Object].Я был смущен, поэтому я изменил все это обратно.Я прочитал еще немного о форматировании JSON, когда наткнулся на эту цитату :

Когда у вас есть объект Javascript, сериализация JSON очень проста:

Что заставило меня вспомнить, что это сделал пустой объект Javascript ... ооо!Информация о теле форматировалась не как данные JSON, а как массив Javascript!Итак, я думаю, мне следует ...

var bodydata = {"name": "New spreadsheet", "mimeType": "application/vnd.google-apps.spreadsheet"};
    let init = {
      method: "POST",
      async: true,
      headers: {
        Authorization: "Bearer " + token,
        "Content-Type": "application/json",
      },
      body: JSON.stringify(bodydata)

... преобразовать данные Javascript в строку JSON!

И это сработало!Это было очень приятно, но я решил, что я отвечу на свой вопрос здесь для всех, кто только изучает REST API и самостоятельно разбирается с ними, как я!

...