Как мне создавать / управлять ключами API GCP с помощью Python

#google-cloud-platform #google-api #google-api-python-client

#google-cloud-platform #google-api #google-api-python-client

Вопрос:

Я пытаюсь получить доступ к сервисам Google Cloud API, используя клиентские библиотеки, такие как Python, однако я ничего не могу найти из документации здесь. Документация действительно запутанная для поиска. Пожалуйста, любая помощь.

Мне нужно создать ключи API с использованием клиентской библиотеки для клиентов, которые могут получить доступ к шлюзу API с помощью ключей API.

Ответ №1:

Согласно официальной документации, если вы используете ключ 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'])
  

Вы можете найти другой пример по этой ссылке

Комментарии:

1. Работал хорошо, спасибо!

Ответ №2:

На данный момент нет общедоступного API для создания ключей API программно. Я видел бета-версию месяц назад, но теперь она больше не доступна.

Недавно я просмотрел видео с новым API от Googler, но оно не задокументировано публично.

Итак, вы можете использовать этот вызов API (не document, может быть изменен без предварительного уведомления. Используйте на свой страх и риск)

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

  

Ответ №3:

Если вы хотите использовать API Google, лучше создать учетную запись службы и использовать ее в коде Python. https://cloud.google.com/docs/authentication/production?hl=en

Если вы уже создали сервис и хотите предоставить API-интерфейсы с помощью ключа API, вы можете следовать инструкциям в указанной вами ссылке.

Комментарии:

1. я хочу создавать ключи API с помощью клиентской библиотеки

2. Невозможно создать ключ API программно. Вам нужно использовать облачную консоль.