0

Я хочу использовать gdata.apps.audit.service.AuditService для создания запросов на экспорт почтовых ящиков (в частности, через createMailboxExportRequest). Возможно ли получить доступ к этой аутентификации api через oauth или другим способом? Я стараюсь не требовать от пользователя указания имени пользователя и пароля.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? Нет проблем с другим аудитным вызовом APi при использовании Oauth? – Emily

ответ

1

Самый простой способ, с помощью которого я нашел взломать OAuth 2.0 в старые API-интерфейсы GData, - это построить службу GData (но не разрешить ее), а затем создать службу учетных данных, как и для более новых открытий OAuth 2.0 API Google, затем добавьте правильные учетные данные в качестве заголовка в службе 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

Смежные вопросы