0

我想利用 gdata.apps.audit.service.AuditService 创建邮箱导出请求(特别是通过 createMailboxExportRequest)。是否可以通过 oauth 或其他方式访问此 api 身份验证?我试图避免要求用户提供用户名和密码。

这是一段示例代码:

audit_service = gdata.apps.audit.service.AuditService(domain="test.com")

#would like to not use ClientLogin
client = audit_service.ClientLogin("adm_user@test.com", "superSecretPassword") # <------
audit_service.createMailboxExportRequest(user="target_user", begin_date=None, end_date=None,     include_deleted=True, search_query=None)
audit_service.getAllMailboxExportRequestsStatus()

我已成功将 oauth2/client_secrets 用于其他管理/审计 API,但我不知道如何在没有 ClientLogin 的情况下获取 createMailboxExportRequest。任何帮助,将不胜感激。

4

1 回答 1

1

我发现将 OAuth 2.0 破解到较旧的 GData API 中的最简单方法是构建 GData 服务(但不对其进行授权),然后像为较新的 OAuth 2.0 发现 Google API 一样构建凭据服务,然后添加适当的凭据作为 GData 服务的标头:

audit_service = gdata.apps.audit.service.AuditService(domain="test.com")
...   # build your credentials like normal with oauth2client
auth_headers = {u'Authorization': u'Bearer %s' % credentials.access_token}
audit_service.additional_headers = auth_headers
于 2014-10-20T20:54:59.760 回答