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)

0 ответов

Другие вопросы по тегам