Ejemplo n.º 1
0
 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]
Ejemplo n.º 2
0
 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]
Ejemplo n.º 3
0
  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]