如何使用Python创建/管理GCP API密钥



我正在尝试使用Python等客户端库访问Google Cloud API服务,但在这里的文档中找不到任何内容。文档真的很难找到。请帮忙。

我需要的是使用客户端库为那些可以使用API密钥访问API网关的客户创建API密钥。

根据官方文档,如果您使用API密钥进行身份验证,则必须首先为您的服务启用API密钥支持,然后使用服务帐户来识别向API发送请求的服务。

话虽如此,您可以使用云控制台、gcloud工具、serviceAccounts.keys.create()方法创建服务帐户密钥,以下示例包含在文档中,用于使用Python创建服务帐户键。

import os
from google.oauth2 import service_account
import googleapiclient.discovery
def create_key(service_account_email):
"""Creates a key for a service account."""
credentials = service_account.Credentials.from_service_account_file(
filename=os.environ['GOOGLE_APPLICATION_CREDENTIALS'],
scopes=['https://www.googleapis.com/auth/cloud-platform'])
service = googleapiclient.discovery.build(
'iam', 'v1', credentials=credentials)
key = service.projects().serviceAccounts().keys().create(
name='projects/-/serviceAccounts/' + service_account_email, body={}
).execute()
print('Created key: ' + key['name'])

你可以在这个链接中找到另一个例子

目前没有公共的API可以通过编程方式创建API键。我一个月前看过一个测试版,但现在已经不可用了。

最近,我看到了一个来自谷歌的新API视频,但没有公开记录。

因此,您可以使用此API调用(不是文档,如有更改,恕不另行通知。使用风险自负(


curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -X POST https://apikeys.googleapis.com/v1/projects/PROJECT_ID/apiKeys

如果您想使用Google的API,最好创建服务帐户并在Python代码中使用它。https://cloud.google.com/docs/authentication/production?hl=en

如果您已经创建了服务,并且希望使用API密钥公开API,那么您可以按照您提到的链接中的说明进行操作。

最新更新