Использование API Доменов Google
Я получаю эту ошибку "HttpAccessTokenRefreshError: unauthorized_client: клиент не авторизован для получения маркеров доступа с использованием этого метода."
И все же я, кажется, связываю нужные файлы с правильной учетной записью службы, с делегированием на:
Кроме того, как показано здесь, у этого клиента есть необходимые разрешения:
Так что я в тупике и буду признателен за помощь.
Мой код ниже, на основе https://developers.google.com/+/domains/quickstart/python
# Update SERVICE_ACCOUNT_JSON_FILE_PATH with the file path to the private key
# file downloaded from the developer console.
SERVICE_ACCOUNT_JSON_FILE_PATH = 'gsuite1-7b1dc64d67fd.json'
#SERVICE_ACCOUNT_JSON_FILE_PATH = 'file.txt'
# Update USER_EMAIL with the email address of the user within your domain that
# you would like to act on behalf of.
USER_EMAIL = 'jschull@e-nable.org'
# plus.me and plus.stream.write are the scopes required to perform the tasks in
# this quickstart. For a full list of available scopes and their uses, please
# see the documentation.
SCOPES = ['https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/plus.stream.write']
def authenticate():
"""Build and return a Plus service object authorized with the service accounts
that act on behalf of the given user.
Returns:
Plus service object.
"""
print( 'Authenticate the domain for %s' % USER_EMAIL)
# Make service account credentials
credentials = ServiceAccountCredentials.from_json_keyfile_name(SERVICE_ACCOUNT_JSON_FILE_PATH, scopes=SCOPES)
# Setting the sub field with USER_EMAIL allows you to make API calls using the
# special keyword 'me' in place of a user id for that user.
delegate_credentials = credentials.create_delegated(USER_EMAIL)
http = httplib2.Http()
http = delegate_credentials.authorize(http)
# Create and return the Plus service object
return build('plusDomains', 'v1', http=http)