0

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

下面是一个例子的代码:

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

#would like to not use ClientLogin 
client = audit_service.ClientLogin("[email protected]", "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,但我无法弄清楚如何获得createMailboxExportRequest没有ClientLogin的。任何帮助,将不胜感激。

+0

您只有在调用createMailboxExportRequest时才会出错?在使用Oauth时,其他审计APi没有问题? – Emily 2014-10-20 20:39:43

回答

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 
+0

工作正常!非常感谢。 – mjw 2014-10-22 19:10:40