2017-06-03 120 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)); 
}