下面的代码(补丁)的对象是我迄今发现使用Microsoft Graph Client Library澄清如何更新使用Microsoft.Graph客户
方案来更新对象的唯一方法:
- 负载的exisiting对象(组织)
- 修改值(securityComplianceNotificationPhones添加条目)
- 发送更新
代码
var client = new GraphServiceClient(...);
var org = client.Organization["orgid"].Request().GetAsync().Result;
var secPhones = new List<string>(org.SecurityComplianceNotificationPhones);
secPhones.Add("12345");
var patchOrg = new Organization();
patchOrg.SecurityComplianceNotificationPhones = secPhones;
var orgReq = new OrganizationRequest(
client.Organization[org.Id].Request().RequestUrl,
client, new Option[] {});
orgReq.UpdateAsync(patchOrg).Wait();
我需要使用的,因为两件事情patchOrg例如:
-
“在请求正文中提供的值对于 应该更新的相关字段。未包含在 请求正文中的现有属性将保留其先前的值,或基于对其他属性值的更改重新计算 。为了获得最佳性能,你 不应该包括没有改变现有的值。”
如果你真的做包括没有改变 (即assginedLicenses)请求失败现有值,如果这些现有值 是只读
我的问题是:?是/会不会有在Azure ActiveDirectory GraphClient更新例如像现有对象更直接的方式只是为了比较,在Azure中的Active直接相同的情况下ory图
var client = new ActiveDirectoryClient(...);
var org = client.TenantDetails.GetByObjectId("orgid").ExecuteAsync().Result;
org.SecurityComplianceNotificationPhones.Add("12345");
org.UpdateAsync().Wait();