Как создать учетные данные для аутентификации в Google Sheets API? - PullRequest
0 голосов
/ 26 сентября 2018

Шаг 1 (выполнено):

В соответствии с инструкциями я выполнил каждый шаг в Google Node.js Quickstart: https://developers.google.com/sheets/api/quickstart/nodejs, и он работал без ошибок.Насколько я понимаю, после запуска index.js создается токен.json.После этого я могу каким-то образом использовать token.json для любых целей аутентификации без необходимости каждый раз использовать credentials.json.Пожалуйста, поправьте меня, если я ошибаюсь в этом предположении.Я делаю это предположение только на основании того, что Google говорит в ранее приведенной ссылке: «Информация об авторизации хранится в файловой системе, поэтому последующие выполнения не будут запрашивать авторизацию».

Шаг 2 (проблема):

Ниже приведен еще один фрагмент кода, предоставленный страницей документации API Google Sheet для чтения данных с несколькими диапазонами: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet

Я, однако, не знаю, как сгенерировать учетные данные для аутентификации для authClient.Должен ли я что-то делать с token.json?Если да, то каков протокол использования файла token.json?

Пожалуйста, не стесняйтесь задавать любые дополнительные вопросы, если это необходимо.

  enter code here// BEFORE RUNNING:
    // ---------------
    // 1. If not already done, enable the Google Sheets API
    //    and check the quota for your project at
    //    https://console.developers.google.com/apis/api/sheets
    // 2. Install the Node.js client library by running
    //    `npm install googleapis --save`

    const {google} = require('googleapis');
    var sheets = google.sheets('v4');

    authorize(function(authClient) {
      var request = {
        // The ID of the spreadsheet to retrieve data from.
        spreadsheetId: 'my-spreadsheet-id',  // TODO: Update placeholder value.

        // The A1 notation of the values to retrieve.
        ranges: [],  // TODO: Update placeholder value.

        // How values should be represented in the output.
        // The default render option is ValueRenderOption.FORMATTED_VALUE.
        valueRenderOption: '',  // TODO: Update placeholder value.

        // How dates, times, and durations should be represented in the output.
        // This is ignored if value_render_option is
        // FORMATTED_VALUE.
        // The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
        dateTimeRenderOption: '',  // TODO: Update placeholder value.

        auth: authClient,
      };

      sheets.spreadsheets.values.batchGet(request, function(err, response) {
        if (err) {
          console.error(err);
          return;
        }

        // TODO: Change code below to process the `response` object:
        console.log(JSON.stringify(response, null, 2));
      });
    });

    function authorize(callback) {
      // TODO: Change placeholder below to generate authentication credentials. See
      // https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample
      //
      // Authorize using one of the following scopes:
      //   'https://www.googleapis.com/auth/drive'
      //   'https://www.googleapis.com/auth/drive.file'
      //   'https://www.googleapis.com/auth/drive.readonly'
      //   'https://www.googleapis.com/auth/spreadsheets'
      //   'https://www.googleapis.com/auth/spreadsheets.readonly'
      var authClient = null;

      if (authClient == null) {
        console.log('authentication failed');
        return;
      }
      callback(authClient);
    }

1 Ответ

0 голосов
/ 24 октября 2018

что должен представлять аргумент authClient?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...