问题描述
我正在使用此代码来检索用户使用情况报告。我可以从12个中获取7个参数。
问题:
所有显示“未定义”: 'gmail:timestamp_last_access', 'gmail:timestamp_last_imap', 'gmail:timestamp_last_pop', 'gmail:timestamp_last_webmail'
我在下面使用此代码。预先感谢您的时间和帮助!
function generateUserReport() {
var today = new Date();
var twoDaysAgo = new Date(today.getTime() - 2 * 24 * 60 * 60 * 1000);
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(twoDaysAgo,timezone,"yyyy-MM-dd");
var parameters = [
'accounts:first_name','accounts:last_name','accounts:is_super_admin','accounts:last_login_time','accounts:gmail_used_quota_in_mb','accounts:drive_used_quota_in_mb','gmail:timestamp_last_access','gmail:timestamp_last_imap','gmail:timestamp_last_pop','gmail:timestamp_last_webmail'
];
var rows = [];
var pagetoken;
var page;
do {
page = AdminReports.UserUsageReport.get('all',date,{
parameters: parameters.join(','),maxResults: 500,pagetoken: pagetoken
});
if (page.warnings) {
for (var i = 0; i < page.warnings.length; i++) {
var warning = page.warnings[i];
Logger.log(warning.message);
}
}
var reports = page.usageReports;
if (reports) {
for (var i = 0; i < reports.length; i++) {
var report = reports[i];
var parameterValues = getParameterValues(report.parameters);
var row = [
report.date,report.entity.userEmail,parameterValues['accounts:first_name'],parameterValues['accounts:last_name'],parameterValues['accounts:is_super_admin'],parameterValues['accounts:last_login_time'],parameterValues['accounts:gmail_used_quota_in_mb'],parameterValues['accounts:drive_used_quota_in_mb'],parameterValues['gmail:timestamp_last_access'],parameterValues['gmail:timestamp_last_imap'],parameterValues['gmail:timestamp_last_pop'],parameterValues['gmail:timestamp_last_webmail']
];
rows.push(row);
}
}
pagetoken = page.nextPagetoken;
} while (pagetoken);
if (rows.length > 0) {
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName('UserSheet');
sheet.clear();
// Append the headers.
var headers = ['Date','User','First Name','Last Name','Admin Account Status','Last Login','Email Usage','Drive Usage','Last Access Date','IMAP','POP','WEBMAIL'];
sheet.appendRow(headers);
// Append the results.
sheet.getRange(2,1,rows.length,headers.length).setValues(rows);
Logger.log('Report spreadsheet created: %s',spreadsheet.getUrl());
} else {
Logger.log('No results returned.');
}
}
/**
* Gets a map of parameter names to values from an array of parameter objects.
* @param {Array} parameters An array of parameter objects.
* @return {Object} A map from parameter names to their values.
*/
function getParameterValues(parameters) {
return parameters.reduce(function(result,parameter) {
var name = parameter.name;
var value;
if (parameter.intValue !== undefined) {
value = parameter.intValue;
} else if (parameter.stringValue !== undefined) {
value = parameter.stringValue;
} else if (parameter.datetimeValue !== undefined) {
value = new Date(parameter.datetimeValue);
} else if (parameter.boolValue !== undefined) {
value = parameter.boolValue;
}
result[name] = value;
return result;
},{});
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)