首页 > 解决方案 > 使用 App 脚本访问完整的谷歌日志

问题描述

我正在编写一个审核完整谷歌日志的脚本。谷歌保留了 450 天(14.7 个月)的日志,但是他们只在控制台中提供了 6 个月,所以我正在编写一个脚本来提取完整​​的 14.7 个月。我联系了谷歌支持以了解如何最好地做到这一点,他们建议使用 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.');
    }
  }
}

标签: logginggoogle-apps-scriptgoogle-admin-sdkaudit-logging

解决方案


在您的示例中,您查询的是AdminReports.Activitesnot AdminReports.UserUsageReports

后者是您链接到的文档。如果您查看的文档AdminReports.Activities,所有申请报告的最长期限为 180 天。


推荐阅读