Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 使用应用程序脚本访问完整的google日志_Logging_Google Apps Script_Google Admin Sdk_Audit Logging - Fatal编程技术网

Logging 使用应用程序脚本访问完整的google日志

Logging 使用应用程序脚本访问完整的google日志,logging,google-apps-script,google-admin-sdk,audit-logging,Logging,Google Apps Script,Google Admin Sdk,Audit Logging,我正在编写一个脚本来审核完整的谷歌日志。谷歌保留了450天(14.7个月)的日志,但他们只在控制台中提供了6个月的可用性,所以我正在编写一个脚本,从完整的14.7个月中提取出来。我联系了谷歌的支持人员,看看如何最好地做到这一点,他们建议使用api调用 我有一个脚本,现在可以拉6个月,但我不知道如何扩展到整个14个月,谷歌日志。我试着改变开始日期,但看起来可能更复杂 function getData () { var now = new Date(); var fourhundredfi

我正在编写一个脚本来审核完整的谷歌日志。谷歌保留了450天(14.7个月)的日志,但他们只在控制台中提供了6个月的可用性,所以我正在编写一个脚本,从完整的14.7个月中提取出来。我联系了谷歌的支持人员,看看如何最好地做到这一点,他们建议使用api调用

我有一个脚本,现在可以拉6个月,但我不知道如何扩展到整个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.');
    }
  }
}
函数getData(){ var now=新日期(); var fourhundredfiftydaysago=新日期(now.getTime()-1000*60*60*24*450); var startTime=fourdundfiftydysago.toISOString(); var apps_list=[“管理员”、“日历”、“驱动器”、“组”、“GPLU”、“登录”、“移动”、“规则”、“令牌”]; var userKey='all'; var optionalArgs={startTime:startTime}; 对于(i=0;i0){ Logger.log(应用程序列表[i]+':'); 对于(x=0;x在您的示例中,您查询的是
AdminReports.Activites
而不是
AdminReports.UserUsageReports


后者是您链接到的文档。如果您查看,所有应用程序报告的最长时间为180天。

您的具体问题是什么?你有错误吗?如果是这样,你为什么不说它们是什么?它不起作用吗?请注意,“不工作”是非常模糊的,因此您应该确切地指定您的脚本做什么,以及它如何做,不符合“它工作”的标准。还请注意,您当前的函数将只报告结果的第一页,因为您不翻阅列表(通过使用最新结果集中的页面标记重新查询)。感谢您的回复,我想知道接下来应该如何在应用程序脚本中实现get请求,我四处查看了一下,但找不到对我来说有意义的用例,文档是我正在努力使其适用的。鉴于我的回答中详述的API区别,您不清楚您的要求。您能指定您感兴趣与之交互的API(即vs)?