Как получить токен доступа Bearer для сервисных аккаунтов

Я создал учетные данные для учетной записи службы следующим образом:

f = file(settings.SERVICE_ACCOUNT_PKCS12_FILE_PATH, 'rb')
key = f.read()
f.close()
credentials = client.SignedJwtAssertionCredentials(settings.SERVICE_ACCOUNT_EMAIL, key, scope=settings.GROUPS_SCOPE, sub=settings.ADMIN_DOMAIN_EMAIL)
print 'credentials : '+str(credentials.to_json())

печать отображает учетные данные в формате json:

{"private_key": "MIIGwAIBAzCCBnoGLUn09Ywa1l7G8XC2SgA9eDhXAdKw4DAh...83J+6iAgIEAA==", "id_token": null, "token_uri": "https://accounts.google.com/o/oauth2/token", "token_response": null, "client_id": null, "scope": "https://www.googleapis.com/auth/admin.directory.group", "token_expiry": null, "_class": "SignedJwtAssertionCredentials", "refresh_token": null, "_module": "oauth2client.client", "private_key_password": "notasecret", "access_token": null, "service_account_name": "[email protected]", "invalid": false, "assertion_type": null, "kwargs": {"sub": "[email protected]"}, "client_secret": null, "revoke_uri": "https://accounts.google.com/o/oauth2/revoke", "user_agent": null}

Это генерирует закрытый ключ и токен доступа, который является нулевым.

Существует ли класс, который обрабатывает запрос REST, указанный здесь, для получения токена доступа?


person Drwhite    schedule 16.10.2014    source источник


Ответы (1)


Вы можете использовать access_token = credentials.get_access_token() https://oauth2client.readthedocs.io/en/latest/source/oauth2client.client.html#oauth2client.client.OAuth2Credentials.get_access_token

person hbhrugubanda    schedule 05.06.2016