def _get_chromeos_devices_by_email(self, email, batch_size=1000): service = discovery.build('admin', 'directory_v1', http=self.connection) resource = service.chromeosdevices() request = resource.list(customerId='my_customer', query='user:{!s}'.format(email.split('@')[0]), projection="FULL", maxResults=batch_size) chromeos_devices = gutils.execute_batch(resource, request, 'chromeosdevices') # logger.debug("found {:d} chrome OS devices", len(chromeos_devices)) # logger.debug("chrome OS devices:\n{!s}", pprint.pformat(chromeos_devices)) return [self._process_chromeos_device(raw) for raw in chromeos_devices]
def _get_mobile_devices_by_email(self, email, batch_size=1000): service = discovery.build('admin', 'directory_v1', http=self.connection) resource = service.mobiledevices() request = resource.list(customerId='my_customer', query='email:{!s}'.format(email), projection="FULL", maxResults=batch_size) mobile_devices = gutils.execute_batch(resource, request, 'mobiledevices') # logger.debug("found {:d} mobile devices", len(mobile_devices)) # logger.debug("mobile devices:\n{!s}", pprint.pformat(mobile_devices)) return [self._process_mobile_device(raw) for raw in mobile_devices]
def get_events_by_email(self, email, max_results=500, batch_size=500): service = discovery.build('admin', 'reports_v1', http=self.connection) resource = service.activities() request = resource.list(applicationName='login', userKey=email, maxResults=min([max_results, batch_size])) activities = gutils.execute_batch(resource, request, 'items', max_results=max_results) if not activities: logger.warn("no google login events found for user '{:s}'", email) return [] return [gutils.parse_activity(activity) for activity in activities]