2017-06-03 65 views
0

我使用Google脚本来维护我们网域上的Chrome设备列表。管理员SDK ChromeOSdevices方法

我使用AdminDirectory.Chromeosdevices.list方法来获取我需要的所有信息并将其写入工作表。

然后我尝试编写一个脚本,使用Chromeosdevices.update方法将信息写入annotatedLocationannotatedAssetId字段。

我的问题:我用以下,从观察的建议得到一个短语错误:update(resource, customerId, deviceId, optionalArgs)我似乎没有有一个“资源”,我似乎无法找到任何方式来获得这个值。

有关如何获取资源的任何建议?

var options = { 
    "annotatedAssetId": (data[i][13] == "") ? data[i][3] : data[i][13], 
    "annotatedLocation": (data[i][14] == "") ? data[i][4] : data[i][14], 
    "notes": (data[i][15] == "") ? data[i][7] : data[i][15], 
    "orgUnitPath": (data[i][16] == "") ? data[i][15] : data[i][16] 
} 
var device = AdminDirectory.Chromeosdevices.update(data[i][11],"my_customer", data[i][10], options) 

谢谢

回答

0

我想你指的是这一行:

在请求正文中提供与 以下属性Chromeosdevices资源:

资源是指Chromeosdevices resource

{ 
    "kind": "admin#directory#chromeosdevice", 
    "etag": etag, 
    "deviceId": string, 
    "serialNumber": string, 
    "status": string, 
    "lastSync": datetime, 
    "supportEndDate": datetime, 
    "annotatedUser": string, 
    "annotatedLocation": string, 
    "annotatedAssetId": string, 
    "notes": string, 
    "model": string, 
    "meid": string, 
    "orderNumber": string, 
    "willAutoRenew": boolean, 
    "osVersion": string, 
    "platformVersion": string, 
    "firmwareVersion": string, 
    "macAddress": string, 
    "bootMode": string, 
    "lastEnrollmentTime": datetime, 
    "orgUnitPath": string, 
    "recentUsers": [ 
    { 
     "type": string, 
     "email": string 
    } 
    ], 
    "ethernetMacAddress": string, 
    "activeTimeRanges": [ 
    { 
     "date": date, 
     "activeTime": integer 
    } 
    ] 
} 

点击此链接了解更多信息。

+0

感谢noogui但只是为了澄清(因为我不是很用的应用程序脚本有经验),我可以“得到”这一资源利用与客户ID和设备ID,然后get方法传递回更新资源参数以及我的选项,如上所示? –

+0

我测试了我上面所说的,它没有工作。我仍然无法弄清楚。你能提供一个例子吗? –

+0

对不起,没有提到这是使用[目录API](https://developers.google.com/admin-sdk/directory/v1/reference/chromeosdevices/list),只是指'资源'关键字 – noogui

0

这是为我工作。希望它可以帮助你。

function getDeviceID(assetID) { 
    //Find chrome device 
    var assetTag = 'asset_id:' + assetID; 
    var chromebookDevices = (AdminDirectory.Chromeosdevices.list("my_customer", { 
    query: assetTag 
    })); 

    //Change values 
    chromebookDevices.chromeosdevices[0].annotatedUser = 'New name'; 
    //Push changes 
    var updatedChromebook =(AdminDirectory.Chromeosdevices.update(chromebookDevices.chromeosdevices[0], "my_customer", chromebookDevices.chromeosdevices[0].deviceId)); 
}