#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 программно. Вам нужно использовать облачную консоль.