chromeosdevices.list的“错误请求”错误

时间:2018-10-31 15:32:24

标签: google-apps-script google-api

我试图弄清楚如何获取有关组织使用的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(仪表板显示了我的尝试的请求和错误。)

有什么想法吗?

1 个答案:

答案 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 是必需的。我不确定为什么它不喜欢通过该论点,这似乎是我问题的根源。虽然它没有在日志中为我列出任何设备,但它确实张贴了“找不到设备”,这意味着所有其他操作都已执行。