создание открытого / закрытого ключа для Google с помощью вызова API - PullRequest
0 голосов
/ 02 июля 2018

документы говорят, что я могу получить ключи по этому запросу:

POST https://iam.googleapis.com/v1/projects/PROJECT-ID/serviceAccounts/SA-NAME@PROJECT-ID.iam.gserviceaccount.com/keys

Я создал сервисную учетную запись. Для примера скажем:

SA-NAME = xxx
PROJECT-ID = yy-zz

Когда я делаю (Python)

import requests
url = 'https://iam.googleapis.com/v1/projects/yy-zz/serviceAccounts/xxx@yy-zz.iam.gserviceaccount.com/keys'
try:
    g = requests.post(url, verify=True)
except requests.exceptions.HTTPError as err:
    print err
    sys.exit(1)
print g

Я получаю:

<Response [403]>

Что я делаю не так?

1 Ответ

0 голосов
/ 02 июля 2018

Вам необходимо пройти аутентификацию, используя OAuth2, чтобы иметь возможность использовать сервис. Ожидается ошибка 403, которую вы получаете, потому что вы не проходите аутентификацию, прежде чем пытаться использовать сервис.

См. Следующие ссылки для получения дополнительной информации об аутентификации с помощью этих методов: https://developers.google.com/identity/protocols/OAuth2

Аутентификация в сервисе может выглядеть следующим образом:

from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin']
SERVICE_ACCOUNT_FILE = '/path/to/service.json'

credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...