问题描述
我正在使用Chrome设备用户和来自目录的JSON响应,使用google appscript创建二维数组。我已经能够获得价值。但是,当我尝试将最近用户表示为:
ubuntu-xenial 16.04.7 LTS
jfrog-artifactory-oss-6.21.0.zip
我得到一个数组,但是我无法获得该值。我正在尝试获取最新用户的电子邮件。有人有使用脚本的经验吗?我已经尝试了最近用户[0] .email和最近用户[0] ['email']。这是我必须执行的代码://我在试图推入值的地方添加了注释 在此处输入代码
{
"kind": "directory#chromeosdevices","chromeosdevices": [
{
"kind": "directory#chromeosdevice","etag": "1234567890"
"deviceid": "def456","serialNumber": "234567","status": "ACTIVE","lastSync": "2013-03-05T17:30:04.325Z","supportEndDate": "2014-04-05T17:30:04.325Z","annotatedUser": "help desk","annotatedLocation": "Mountain View help desk Chromebook","annotatedAssetId": "1234567890","notes": "Loaned from support","orderNumber": "1234","willAutoRenew": true,"osversion": "browser Version 18.0","platformVersion": "Platform Version 1415.2.0","firmwareversion": "Firmware Version 1.2.3.4","bootMode": "validated","lastEnrollmentTime": "2012-04-05T17:30:04.325Z","orgUnitPath": "corp/engineering","recentUsers": [
{
"type": "USER_TYPE_MANAGED","email": "[email protected]" //I'm trying to get the most recent user's email
}
],"activeTimeRanges": [
{
"date": "2012-04-05","activeTime": "3600000"
}
],}
],"nextPagetoken": "abcdefghijkl123"
}
解决方法
您非常接近,您唯一需要更改的就是在循环内用动态recentUsers[0]
替换静态recentUsers[j]
示例:
function getChromes(){
var chromeArgs = {
maxResults: 200,orderBy: 'annotatedUser',projection: "FULL"
};
var getChromes = (AdminDirectory.Chromeosdevices.list('XXXXXXXXX',chromeArgs));
var chromes = getChromes.chromeosdevices;
if (chromes && chromes.length > 0) {
Logger.log('Devices:');
var wholeValues = [];
for (var i = 0; i < chromes.length; i++){
var chrms = chromes[i];
var recentUser = chrms.recentUsers;
var value = [];
for (var j = 0; j < recentUser.length; j++) {
Logger.log(recentUser[j].email);
value.push(recentUser[j].email);
}
wholeValues.push(value);
}
Logger.log(wholeValues);
}
}
请注意,您需要动态地j < recentUser.length;
而不是j < 1
指定内部循环的迭代限制,以说明每个chrome设备最近用户的数量。