Аутентификация администратора Google в облачной функции - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь аутентифицировать Google Admin SDK, используя ServiceAccountCredentials.from_json(). Я использую облачную платформу Google для запуска облачной функции. Облачная функция получает файл из облачного хранилища, расшифровывает его, а затем использует этот файл для аутентификации службы. Согласно этому я могу аутентифицироваться, используя from_json_keyfile_name. У меня не будет прямого пути, поэтому я попытался аутентифицироваться с содержимым файла из Google Console -> API -> Download credentials. Этот JSON имеет следующие ключи:

  • тип
  • project_id
  • private_key_id
  • private_key
  • client_email
  • client_id
  • auth_uri
  • token_uri
  • auth_provider_x509_cert_url
  • client_x509_cert_url

Однако ServiceAccountCredentials.from_json() ищет _private_key_pkcs12. которого нет в скачанном json.

1 Ответ

1 голос
/ 13 июня 2019

oauth2client устарел .Используйте google.oauth2.service_account .

Пример

from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_info(sa_json)
return build(service_name, service_version, credentials=credentials)
...