Мне удалось создать учетную запись службы и собственный ключ через Python API 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')]
Как правильно ввести этот ключ?