Chromeosdevices依赖于deviceID参数来查找后端的设备。这给我带来了一堆困惑和挫败感。最初,我以为deviceID是设备的序列号。我们通常在谷歌的管理控制台上使用序列号搜索设备,所以这是有意义的。我现在意识到deviceID不是序列号。
那么,有没有办法把序列号翻译成deviceId呢?我想我可能需要导出某个表中的整个目录,然后使用序列号作为参考键进行查找。但是,如果能想出一种程序化的方式来做这件事,那就太好了。我尝试搜索堆栈溢出,但没有用。
谢谢,
发布于 2019-04-12 06:53:20
我想通了。真让人头疼。首先,如果您正在开发一个应用程序脚本,则不需要通过UrlFetchApp访问Admin Directory API并试图使其与Oauth2库一起工作。您所需要的就是直接的API,我希望Google的API文档和API explorer中已经说明了这一点。而应直接使用Admin SDK。您可以创建一个脚本文件,其中包含一组辅助函数,以便从主脚本中调用:
函数序列号(GetDeviceId){
var optionalArgs ={ projection:'BASIC',query: serialnum,};
var chromebook = (AdminDirectory.Chromeosdevices.list("my_customer",optionalArgs));
Chromebook.chromeosdevices.deviceId chromebookDevID = var;
返回chromebookDevID;}
例如,您调用此函数,传入序列号,它将返回chromebook的deviceId
var deviceId = getDeviceId('5CD81072C4');
由此,您还可以使用辅助函数来启用/禁用chromebooks:
函数disableChromeBook(deviceId) {
AdminDirectory.Chromeosdevices.action({"action":"disable"},"my_customer",deviceId);
}
函数enableChromeBook(deviceId) {
AdminDirectory.Chromeosdevices.action({"action":“重新启用”},"my_customer",deviceId)
}
我发现Google API文档真的很迟钝。我希望这对其他人有所帮助。我花了一段时间。
https://stackoverflow.com/questions/55404293
复制相似问题