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

Google cloud platform 如何使用Python创建/管理GCP API密钥,google-cloud-platform,google-api,google-api-python-client,Google Cloud Platform,Google Api,Google Api Python Client,我试图使用Python之类的客户端库访问Google Cloud API服务,但是从文档中找不到任何内容。文档很难找到。请帮忙 我需要的是使用客户端库为可以使用API密钥访问API网关的客户创建API密钥。如果您想使用Google的API,最好创建服务帐户并在Python代码中使用它。 如果您已经创建了服务,并且希望使用API密钥公开API,则可以按照您提到的链接中的说明进行操作。目前还没有以编程方式创建API密钥的公共API。我在一个月前看到了一个测试版,但现在已经不可用了 我最近看了一段谷

我试图使用Python之类的客户端库访问Google Cloud API服务,但是从文档中找不到任何内容。文档很难找到。请帮忙


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

如果您想使用Google的API,最好创建服务帐户并在Python代码中使用它。


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

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

我最近看了一段谷歌新API的视频,但没有公开记录

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

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

话虽如此,您可以使用云控制台、gcloud工具和
servicecomports.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键的选项。您需要使用云控制台。
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'])