【发布时间】:2018-11-29 23:55:24
【问题描述】:
我正在编写一个审核完整谷歌日志的脚本。谷歌保留了 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.');
}
}
}
【问题讨论】:
-
您的具体问题是什么?你有错误吗?如果是这样,你为什么不说它们是什么?它不工作吗?请注意,“不工作”是非常模棱两可的,因此您应该明确说明您的脚本做了什么,以及它是如何做的,不符合您对“它有效”的标准。
-
另请注意,您当前的函数只会报告第一页结果,因为您不会翻阅列表(通过使用最新结果集中的页面标记重新查询)。
标签: logging google-apps-script google-admin-sdk audit-logging