我试图弄清楚如何获取有关组织使用的Chromebook的设备信息(使用Google Apps脚本。)对此不熟悉,我基本上是尝试修改可从组织中获取用户的教程代码。当我为用户执行代码时,它可以正常工作,但是当我尝试如下运行它时,却出现“错误请求(第7行,文件“代码”)错误:
function getDevices() {
var optionalArgs = {
customerId: 'XXXXXXXXXXX',
maxResults: 10,
orderBy: 'serialNumber'
};
var response = AdminDirectory.Chromeosdevices.list(optionalArgs);
var devices = response.devices;
if (devices && devices.length > 0) {
Logger.log('Devices:');
for (i = 0; i < devices.length; i++) {
var device = devices[i];
Logger.log('%s (%s)', device.serialNumber, device.lastSync);
}
} else {
Logger.log('No devices found.');
}
}
我知道它是为此错误引用此行的
var response = AdminDirectory.Chromeosdevices.list(optionalArgs);
我与Google's Directory API documentation进行了核对,以确保我正确地传递了参数,但我认为这不是问题。我已在“高级Google服务”下启用了该API,并在Cloud Platform API仪表板上启用了该API(仪表板显示了我的尝试的请求和错误。)
有什么想法吗?
答案 0 :(得分:0)
我修改了脚本,尝试直接将customerID输入到参数中,而不是将其与其他参数一起传递,并且我不再收到错误:
function getDevices() {
var optionalArgs = {
maxResults: 200,
orderBy: 'serialNumber'
};
var response = (AdminDirectory.Chromeosdevices.list("my_customer", optionalArgs));
我意识到 my_customer 参数对于 Users.list 请求是可选的,对于 Chromeosdevices.list 是必需的。我不确定为什么它不喜欢通过该论点,这似乎是我问题的根源。虽然它没有在日志中为我列出任何设备,但它确实张贴了“找不到设备”,这意味着所有其他操作都已执行。