使用 API 调用为 Google 创建公钥/私钥



文档说我可以通过此请求获取密钥:

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]>

我做错了什么?

您需要使用 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)

最新更新