![](/img/trans.png)
[英]Android Management api - Is it possible to get device id/name in android app? ( Device specific QR is not possible, Generating Policy specific
[英]Android Management API change Policy for device
我在我的企業中創建了 2 個策略。
我想在不重新注冊的情況下將一台設備切換到另一項策略。
我嘗試使用 android management enterprises devices.patch 與以下 JSON
{ "policyName": "policy2" }
當我執行此命令時,我總是收到以下錯誤消息:
{
"error": {
"code": 400,
"message": "Illegal state transition from ACTIVE to DEVICE_STATE_UNSPECIFIED",
"status": "INVALID_ARGUMENT"
}
}
有誰知道如何在不擦除設備的情況下更改設備的策略?
確實可以在不重新注冊的情況下更改設備的策略,並且您距離解決方案不遠。
您收到此錯誤是因為您隱式嘗試更改Device
資源的其他字段(特別是state
字段),方法是不在您在devices.patch
發送的資源中設置它們。
您有兩種選擇:
將devices.patch
的updateMask
設置為"policyName"
,告訴API您只想更改policyName
字段。
調用devices.get
來獲取當前的Device
資源,然后發送回整個資源,只將policyName
字段更改為devices.patch
。
使用updateMask
是首選,因為它執行原子讀 - 修改 - 寫。
正如弗雷德所說, updateMask是首選方式。 以下是如何在Google colab中使用updateMask方法的示例
swap_result = androidmanagement.enterprises().devices().patch(
name='enterprises/ENTERPRISE_NAME/devices/DEVICE_ID', updateMask='policyName', body={ "policyName": "enterprises/ENTERPRISE_NAME/policies/NEW_POLICY_NAME"}).execute()
我為我的問題找到了解決方案:
{“policyName”:“policy2”,“state”:“active”}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.