API листа (Google Apis) возвращает ошибку "Недопустимый грант: аккаунт не найден" - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу получить данные из электронной таблицы через API листа.

Я создаю проект в GCP и служебную учетную запись. Затем я дал аккаунту разрешение на написание электронной таблицы. После этого я загрузил учетные данные как json.

Мое приложение узла здесь.

const sheets = google.sheets('v4');

  execAPI('[sheet_ID]', 'articles!C5:F8');

  async function execAPI(spreadsheetId: string, range: string) {
    const key = process.env.private_key === undefined ? undefined : process.env.private_key.replace(/\\n/g, "\n");
    const auth = await google.auth.getClient({
      credentials: {
        client_email: process.env.client_email,
        private_key: key,
      },
      scopes: 'https://www.googleapis.com/auth/spreadsheets.readonly',
    });

    const apiOptions = {
      auth,
      spreadsheetId,
      range,
    };

    sheets.spreadsheets.values.get(apiOptions, (err: Error | null, res: GaxiosResponse | undefined | null) => {
      console.log(err);
      console.log(res);
    });

Я пробовал много раз, однако только получал ошибку " Неверный грант: аккаунт не найден "

Что мне делать ?? Пожалуйста, научи меня.

1 Ответ

0 голосов
/ 22 апреля 2020

Эта ошибка означает, что авторизационный грант или refre sh токен недействителен

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

...