如何将 G Suite 电子邮件审核 API 与 google-api-python-客户端一起使用?
How to use G Suite Email Audit API with google-api-python-client?
我想使用 google-api-python-client
.
获取特定用户已发送电子邮件的列表(主题、日期时间、发件人)
我找到了 G Suite Email Audit API Developer's Guide,但遗憾的是没有任何 python 示例。
google-api-python-client
这甚至可能吗?
G Suite Email Audit API is one of the older APIs that still uses the Google Data API protocol. This protocol is not supported by the google-api-python-client, but you have to use instead the gdata-python-client。这个库很旧,Google 不再更新它了:
- 它只适用于 Python 2.x
- 要执行 OAuth2 身份验证,您需要将其与 oauth2client 库集成
以下是有关如何使用它的示例:
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)
如果你想要 Google 的原始样本,你可以找到它 here。它比我的复杂得多,我怀疑它是否会起作用,因为它不执行 OAuth2 身份验证;作为参考。
我想使用 google-api-python-client
.
我找到了 G Suite Email Audit API Developer's Guide,但遗憾的是没有任何 python 示例。
google-api-python-client
这甚至可能吗?
G Suite Email Audit API is one of the older APIs that still uses the Google Data API protocol. This protocol is not supported by the google-api-python-client, but you have to use instead the gdata-python-client。这个库很旧,Google 不再更新它了:
- 它只适用于 Python 2.x
- 要执行 OAuth2 身份验证,您需要将其与 oauth2client 库集成
以下是有关如何使用它的示例:
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)
如果你想要 Google 的原始样本,你可以找到它 here。它比我的复杂得多,我怀疑它是否会起作用,因为它不执行 OAuth2 身份验证;作为参考。