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