Для доступа к GMail API (и персонификации вызовов) я использую служебную учетную запись (созданную из Google Cloud Platform).Файл json, который у меня есть, выглядит следующим образом
{
"type": "service_account",
"project_id": "[PROJECT-ID]",
"private_key_id": "[KEY-ID]"
"private_key": "-----BEGIN PRIVATE KEY-----\n[PRIVATE-KEY]\n-----END PRIVATE KEY-----\n",
"client_email": "[SERVICE-ACCOUNT-EMAIL]",
"client_id": "[CLIENT-ID]",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/[SERVICE-ACCOUNT-EMAIL]"
}
Я также использую библиотеку oauth2client , чтобы упростить ее, но не могу найти способ создания учетных данных, а затем указатьобласть действия и делегированная учетная запись.
Я пытался
from oauth2client import service_account
self._credentials = service_account.ServiceAccountCredentials.from_json(SERVICE_ACCOUNT_JSON_CONTENT)
self._credentials = self._credentials.create_scoped([u'https://www.googleapis.com/auth/gmail.send'])
self._credentials = self._credentials.create_delegated(MY_USER)
self._client = discovery.build(u'gmail', u'v1', credentials=self._credentials)
Но я получаю сообщение об ошибке, поскольку он ожидает ключ PKCS-8.
Как я могу это сделать?(Мой код работает на App Engine Flex, если это поможет)
Спасибо