0

according to https://developers.google.com/admin-sdk/email-audit/#creating_a_mailbox_for_export I am trying to request the email audit export of an user in G Suite this way:

def requestAuditExport(account):
    credentials = getCredentials()
    http = credentials.authorize(httplib2.Http())
    url = 'https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/helpling.com/'+account
    status, response = http.request(url, 'POST', headers={'Content-Type': 'application/atom+xml'})
    print(status)
    print(response)

And I get the following result:

{'content-length': '22', 'expires': 'Tue, 13 Dec 2016 14:19:37 GMT', 'date': 'Tue, 13 Dec 2016 14:19:37 GMT', 'x-frame-options': 'SAMEORIGIN', 'transfer-encoding': 'chunked', 'x-xss-protection': '1; mode=block', 'content-type': 'text/html; charset=UTF-8', 'x-content-type-options': 'nosniff', '-content-encoding': 'gzip', 'server': 'GSE', 'status': '400', 'cache-control': 'private, max-age=0', 'alt-svc': 'quic=":443"; ma=2592000; v="35,34"'}

b'Premature end of file.'

I cannot see where the problem is, can someone please give me a hint?

Thanks in advance!

Kay

Community
  • 1
  • 1
Kay
  • 1
  • 4

2 Answers2

0

Fix it by going intp the Admin Console, Manage API client access page under Security and add the Client ID, scope needed for the Directory API. For more information, check this document.

Android Enthusiast
  • 4,826
  • 2
  • 15
  • 30
0

Okay, found out what was wrong and fixed it myself. Finally it looks like this:

http = getCredentials().authorize(httplib2.Http())
url = 'https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/helpling.com/'+account
headers = {'Content-Type': 'application/atom+xml'}
xml_data = """<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> \
                <apps:property name='includeDeleted' value='true'/> \
              </atom:entry>"""
status, response = http.request(url, 'POST', headers=headers, body=xml_data)

Not sure if it was about the body or the header. It works now and I hope it will help others.

Thanks anyway.

Kay
  • 1
  • 4