Разрешение вызова API Google Directory недостаточно для клиента узла - PullRequest
0 голосов
/ 19 ноября 2018

Моя цель:

Получить доступ к информации каталога организации через вызовы API.

Проблема:

OAuth был обработан клиентом google.auth.oauth2 узла, работающим на функциях Firebase. Точные учетные данные и токены API хранятся в базе данных Firebase и извлекаются при необходимости. Когда я пытаюсь сделать вызов API следующим образом:

import { google } from 'googleapis'; 
const oauth2Client = new google.auth.OAuth2(
  // app credential pulled from database
  CLIENT_ID, 
  CLIENT_SECRET, 
  REDIRECT_URL
);
const auth = {
  // Following parameters obtained from oauth response
  access_token: ACCESS_TOKEN, 
  refresh_token: REFRESH_TOKEN, 
  scope: SCOPE, 
  token_type: 'Bearer'
  expiry_date: EXPIRY_DATE
};
oauth2Client.setCredentials(auth); 
const service = google.admin({version: 'directory_v1'})._options.auth = oauth2Client;
const userList = await service.users.list({
  auth: oauth2Client, //probably not needed
  domain: 'example.com' //my actual domain
});

Здесь этот вызов users.list () завершится ошибкой, говоря, что у меня недостаточно прав.

Другие попытки:

Функция "попробуй этот api" в каталоге Google Домашняя страница Api работает нормально, однако вызовы api, сделанные игровой площадкой google oauth2, не работают.

Разница, по-видимому, в ?key=SOMETHING параметре, добавляемом каталогом api в запрос http. Если на площадке будет сделан тот же самый http-запрос с тем же маркером-носителем из вызовов API api и копией вставленной строки ключа, он будет работать нормально. Кажется, что ключ и токен связаны друг с другом (так что, вероятно, как-то сгенерирован из токена?).

Помощь оценена:)

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