我正在尝试使用Python之类的客户端库访问Google Cloud API服务,但是在文档here中找不到任何内容。该文档确实令人困惑。请帮忙。
我需要为可以使用API密钥访问API网关的客户使用客户端库创建API密钥。
答案 0 :(得分:1)
目前没有公共API可通过编程方式创建API密钥。我一个月前看到了Beta版,但现在不再可用。
我最近使用Googler的新API观看了一个视频,但未公开记录。
因此,您可以使用此API调用(不是文档,如有更改,恕不另行通知。使用后果自负)
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -X POST https://apikeys.googleapis.com/v1/projects/PROJECT_ID/apiKeys
答案 1 :(得分:0)
如果您想使用Google的API,最好创建服务帐户并在Python代码中使用它。 https://cloud.google.com/docs/authentication/production?hl=en
如果您已经创建了服务,并且想使用API密钥公开API,则可以按照您提到的链接中的说明进行操作。
答案 2 :(得分:0)
根据official documentation,如果您使用API密钥进行身份验证,则必须首先为服务启用API密钥支持,然后再使用服务帐户来标识向API发送请求的服务
话虽如此,您可以create a service account key使用Cloud Console,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'])
您可以在此link
中找到另一个示例