使用App脚本访问完整的Google日志

时间:2018-06-20 18:51:16

标签: logging google-apps-script google-admin-sdk audit-logging

我正在使用一个脚本来审核完整的Google日志。 Google保留450天(14.7个月)的日志,但是它们在控制台中仅提供6个月的可用时间,因此我正在研究一个脚本,以从整个14.7个月中提取信息。我与Google支持小组联系,以了解如何做到最好,他们建议使用api调用。

https://developers.google.com/admin-sdk/reports/v1/reference/userUsageReport

我有一个脚本,现在可以使用6个月,但是我不确定如何将其扩展到Google记录的整整14个月。我尝试更改开始日期,但看起来好像更复杂。

function getData () {
  var now = new Date();
  var fourhundredfiftydaysago = new Date(now.getTime() - 1000 * 60 * 60 * 24 * 450);
  var startTime= fourhundredfiftydaysago.toISOString();
  var apps_list = ['admin', 'calendar', 'drive', 'groups', 'gplus', 'login', 'mobile', 'rules', 'token'];
  var userKey = 'all';
  var optionalArgs = {startTime: startTime};

  for (i = 0; i < apps_list.length; i++){
    var applicationName = apps_list[i];
    var response = AdminReports.Activities.list(userKey, applicationName, optionalArgs)
    var activities = response.items;

    if (activities && activities.length > 0) {
      Logger.log(apps_list[i] + ':');
      for (x = 0; x < activities.length; x++) {
        var activity = activities[x];
        Logger.log('%s: %s (%s)', activity.id.time, activity.actor.email, activity.events[0].name, activity.ipAddress);
      }
    }
    else {
      Logger.log(apps_list[i] + ':')
      Logger.log('No logs found.');
    }
  }
}

1 个答案:

答案 0 :(得分:0)

在您的示例中,您要查询的是AdminReports.Activites而不是AdminReports.UserUsageReports

后者是您链接到的文档。如果您查看the documentation for AdminReports.Activities,则所有应用程序报告的最长期限为180天。