1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3# 4# Copyright 2014 Google Inc. All Rights Reserved. 5# 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17 18"""Simple command-line sample for Audit API. 19 20Command-line application that retrieves events through the Audit API. 21This works only for Google Apps for Business, Education, and ISP accounts. 22It can not be used for the basic Google Apps product. 23 24Usage: 25 $ python audit.py 26 27You can also get help on all the command-line flags the program understands 28by running: 29 30 $ python audit.py --help 31 32To get detailed log output run: 33 34 $ python audit.py --logging_level=DEBUG 35""" 36from __future__ import print_function 37 38__author__ = 'rahulpaul@google.com (Rahul Paul)' 39 40import pprint 41import re 42import sys 43 44from oauth2client import client 45from googleapiclient import sample_tools 46 47 48def main(argv): 49 # Authenticate and construct service. 50 service, flags = sample_tools.init( 51 argv, 'audit', 'v1', __doc__, __file__, 52 scope='https://www.googleapis.com/auth/apps/reporting/audit.readonly') 53 54 try: 55 activities = service.activities() 56 57 # Retrieve the first two activities 58 print('Retrieving the first 2 activities...') 59 activity_list = activities.list( 60 applicationId='207535951991', customerId='C01rv1wm7', maxResults='2', 61 actorEmail='admin@enterprise-audit-clientlib.com').execute() 62 pprint.pprint(activity_list) 63 64 # Now retrieve the next 2 events 65 match = re.search('(?<=continuationToken=).+$', activity_list['next']) 66 if match is not None: 67 next_token = match.group(0) 68 69 print('\nRetrieving the next 2 activities...') 70 activity_list = activities.list( 71 applicationId='207535951991', customerId='C01rv1wm7', 72 maxResults='2', actorEmail='admin@enterprise-audit-clientlib.com', 73 continuationToken=next_token).execute() 74 pprint.pprint(activity_list) 75 76 except client.AccessTokenRefreshError: 77 print ('The credentials have been revoked or expired, please re-run' 78 'the application to re-authorize') 79 80if __name__ == '__main__': 81 main(sys.argv) 82 83