Как настроить авторизацию учетной записи службы Google в Node.js с помощью файла ключа JSON? - PullRequest
2 голосов
/ 27 марта 2019

Попытка использовать поток OAuth между серверами, определенный здесь: https://developers.google.com/identity/protocols/OAuth2ServiceAccount

Поскольку я работаю из локальной среды разработки, я создал учетную запись службы в GCP и загрузил JSONфайл с закрытым ключом, но не может найти примеры кода Node.js о том, как: 1) загрузить файл json 2) установить делегированные учетные данные (для авторизации по всему домену G Suite)

Места, которые я посмотрел(кроме stackoverflow) - это git wiki от Google для клиентской библиотеки node.js, которая говорит об аутентификации сервер-сервер, но, похоже, предполагает, что вы используете приложение appengine или облако Google и не нуждаетесь в загрузке файла ключа: https://github.com/googleapis/google-api-nodejs-client#service-to-service-authentication

В API отчетов о действиях Admin SDK есть пример узла, но он использует веб-поток, предполагая, что пользователь присутствует: https://developers.google.com/admin-sdk/reports/v1/quickstart/nodejs

Глубоко в образцах Node.jsэто использование Directory API, которое, похоже, принимает ключевой файл в качестве входных данных, но когда я пытаюсь запустить локально, он говорит, что getClient не является конструктором, и все же этот пример не показываеткак настроить пользователя-администратора G Suite для контекста (что обычно происходит, когда токен обновления и токен доступа загружаются в приложение): https://github.com/googleapis/google-api-nodejs-client/blob/master/samples/directory_v1/group-delete.js

Итак ... у кого-нибудь есть пример этого?Я действительно не хочу переключаться на среду исполнения Python, но Google, похоже, пропустил важные примеры по этой теме.

...