Python доступ к GDataAPI с помощью OAUTH
Я пытаюсь использовать API аудита электронной почты GSuite ( https://developers.google.com/admin-sdk/email-audit/), используя Python и клиент gdata-python-client. Клиент GData использует доступ по имени пользователя и паролю, и, насколько я понимаю, теперь требуется проверка подлинности OAuth ( Как использовать API аудита электронной почты G Suite с google-api-python-client?)
Приведенный выше ответ имеет пример функции (он использует oauth2client, который, по-видимому, устарел, но я не уверен, что не могу использовать его для этой цели), но похоже, что для него требуется клиент с доступом к этой конкретной области, Его нет в этом списке ( https://developers.google.com/identity/protocols/googlescopes)
Как получить учетные данные, необходимые для запуска следующего кода?
from __future__ import print_function
import argparse
import gdata.apps.audit.service
from oauth2client import file, client, tools
SCOPES = ['https://apps-apis.google.com/a/feeds/compliance/audit/',]
# be sure to update with the correct user
ID = 'user@domain.com'
store = file.Storage('email-audit{}.json'.format(ID))
creds = store.get()
# client_id.json is the client_id file generated from the developer console project
if not creds or creds.invalid:
flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
flags.auth_host_port = [8010, 8020]
flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
creds = tools.run_flow(flow, store, flags)
access_token, expires_in = creds.get_access_token()
gd_client = gdata.apps.audit.service.AuditService(domain=ID.split('@')[1])
gd_client.additional_headers[u'Authorization'] = u'Bearer {0}'.format(access_token)
monitors = gd_client.getEmailMonitors(ID.split('@')[0])
print(monitors)