AdminDirectory。如果访问Chromebook的用户不是被管理组织的成员,则Chromeosdevices API将在recentUsers[0].email
中返回空值。为什么呢?
请看下面的代码:
function testDevices() {
var optionalArgs = {
maxResults: 200,
orderBy: 'serialNumber'
};
var arrValues = [];
// get devices statuts
var response = (AdminDirectory.Chromeosdevices.list("my_customer", optionalArgs));
var devices = response.chromeosdevices;
if (devices && devices.length > 0) {
Logger.log('Testing:');
var row;
for (i = 0; i < devices.length; i++) {
var device = devices[i];
var ip;
// some devices return undefined IP
if (device.lastKnownNetwork){
ip = device.lastKnownNetwork[0].ipAddress;
}else{
ip = "";
}
Logger.log(`Device ${device.serialNumber} IP:${ip} - ${device.recentUsers[0].email}`);
// Undefined recentUsers[0].email when unmanaged
}
}
}
RecentUsers的文档指定
- 对于
type
有两种用户类型:
USER_TYPE_MANAGED:用户被域管理。
USER_TYPE_UNMANAGED:用户未被域管理。
- For
email
:
用户的邮箱地址。只有当用户类型为USER_TYPE_MANAGED时才会出现。
也就是说: