Мне удалось создать служебную учетную запись и ее собственный ключ через API Python iamcredetials.googleapis.com, но я не могу войти в него, поскольку ключ имеет формат P12 и получен как dict
, и я могуНе можете найти ключ для входа в систему. Есть ли способ создать файл p12 или что-то еще, чтобы я мог использовать ключ?
Я пытался использовать функции, доступные в модуле oauth2clinet.service_account.ServiceAccountCredentials()
, но ни одна из них не загружала его успешно, я понимаю, что в этой библиотеке есть некоторая степень устаревания, и, возможно, я использую устаревшие методы.
Я был ближе к успешному входу в систему, когда использовал функцию _from_p12_keyfile_contents()
, которая вызвала ошибку «кодирования подпрограмм», что мне непонятно.
from oauth2client.service_account import ServiceAccountCredentials
from googleapiclient import discovery, errors, logging
default_creds = google_application_defaults()
service = discovery.build("iam", "v1", credentials=default_creds, cache_discovery = False)
key = service.projects().serviceAccounts().keys().create( name = serviceAccMail, body={}).execute()
creds = ServiceAccountCredentials._from_p12_keyfile_contents(accountEmail, newkey["privateKeyData"], "notasecret")
Error: [('asn1 encoding routines', 'asn1_check_tlen', 'wrong tag'), ('asn1 encoding routines', 'asn1_item_embed_d2i', 'nested asn1 error')]
Какой правильный способ записать этовведите?