Chromeosdevices API依靠deviceID参数来查找后端的设备。这给我造成了很多困惑和沮丧。最初,我认为deviceID是设备的序列号。通常,我们会使用序列号在Google管理控制台中对设备进行所有搜索,因此这很有意义。我现在知道deviceID不是序列号。
那么,有没有一种方法可以将序列号转换为deviceId?我在想我可能需要导出某个表中的整个目录,然后使用序列号作为参考键进行查找。但是,最好能找到一种编程的方式来做到这一点。我尝试搜索堆栈溢出无济于事。
谢谢
答案 0 :(得分:0)
弄清楚了。真是头疼首先,如果您正在开发Apps脚本,则无需通过UrlFetchApp访问Admin Directory API并尝试使其与Oauth2库一起使用。您只需要直接API,我希望可以在Google的API文档和API资源管理器中进行说明。而是直接使用Admin SDK。您可以创建带有一堆帮助函数的脚本文件,以从您的主脚本中调用:
function getDeviceId(serialnum){
var optionalArgs = { 投影:“基本”, 查询:serialnum,};
var chromebook =(AdminDirectory.Chromeosdevices.list(“ my_customer”,optionalArgs));
var chromebookDevID = chromebook.chromeosdevices [0] .deviceId;
返回chromebookDevID; }
例如,您调用此函数,输入序列号,它将返回chromebook的deviceId
var deviceId = getDeviceId('5CD81072C4');
由此,您还可以使用帮助程序功能来启用/禁用Chromebook:
function disableChromeBook(deviceId){
AdminDirectory.Chromeosdevices.action({“ action”:“ disable”},“ my_customer”,deviceId);
}
function enableChromeBook(deviceId){
AdminDirectory.Chromeosdevices.action({“ action”:“ reenable”},“ my_customer”,deviceId)
}
我发现Google API文档确实很晦涩。我希望这可以帮助其他人。花了我一段时间。