如何解决是否可以更改设备策略?
我的企业有 2 个政策:POLICY_1 和 POLICY_2。 我的设备已配置 POLICY_1,但我想将其更改为 POLICY_2。
我正在使用 Java 库“com.google.apis:google-api-services-androidmanagement:v1-rev20201012-1.30.10”。
我正在尝试使用以下代码更改其政策:
private void updateMyDevicePolicy(String enterpriseName,String deviceName) throws IOException {
Device device = getMyDevice(deviceName);
String policyName = enterpriseName + "/policies/POLICY_2";
device.setPolicyName(policyName);
device.setAppliedPolicyName(policyName);
Device deviceUpdated = androidManagementClient.enterprises().devices().patch(deviceName,device).execute();
System.out.println("DEVICE policy updated = " + deviceUpdated);
}
问题是:patch 命令不起作用。 设备政策仍为“POLICY_1”。
请问,我该如何更改设备政策?
解决方法
这很有可能,我也经常这样做。
使用 Device Patch
请求并传入需要应用于设备的 PolicyId。
应用于设备的策略名称,格式为enterprise/{enterpriseId}/policies/{policyId}。该字段可以通过补丁请求进行修改。调用enterprise.devices.patch时可以只指定policyId,只要policyId不包含斜线即可。策略名称的其余部分是推断出来的。 Ref
这是我的 C# 代码的概述。
- 使用需要对其应用的政策创建设备请求正文。
Google.Apis.AndroidManagement.v1.Data.Device deviceBody = new Device()
{
Name = device.DeviceId,PolicyName = POLICY_2,State = "ACTIVE"
};
- 调用
Device Patch
请求
EnterprisesResource.DevicesResource.PatchRequest attachNewPolicy =
new EnterprisesResource.DevicesResource.PatchRequest(service,deviceBody,device.DeviceId);
attachNewPolicy.Execute();
这应该将新政策应用于设备。
,可以使用 devices().patch() 来更新设备的策略。但是,需要在 devices().patch() 中将 updateMask 设置为将更新的字段,在本例中为 policyName,以表明您只想更改该特定字段。
下面是使用不同语言的updateMask的实现:
androidmanagement.enterprises().devices().patch(
name=device_name,updateMask="policyName",body=json.loads(devices_json)
).execute()
在此代码中,“policyName”从enterpriseName + "/policies/POLICY_1" 更新为enterpriseName + "/policies/POLICY_2"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。