【发布时间】:2018-02-21 03:10:04
【问题描述】:
我正在使用 Microsoft Graph .Net SDK 与 Planner 进行交互。
我刚刚创建了一个PlannerTask,我想设置描述属性。
我的方法包含在:How can I create a planner task with a description?
这里的代码获取返回的PlannerTaskDetails 对象,修改描述,然后更新它:
var taskDetails = taskDetailsResult.Result; // Get Previous Task Details
taskDetails.Description = description;
task.Details = await graphServiceClient
.Planner
.Tasks[task.Id]
.Details
.Request()
.Header("If-Match", taskDetails.GetEtag())
.UpdateAsync(taskDetails);
UpdateAsync 返回,但它返回 null。 也不例外,null显然不包含更多信息,并且Description没有改变。
我使用 Fiddler 来监控来回的 HTTP 流量。我可以看到 PATCH 请求正在发送到 Graph API,并且它设置了 If-Match 标头。
奇怪的是,请求正文中的 JSON 对象的 description 属性列出了两次!第一次用我的值,第二次用空值。
我假设反序列化器正在获取它看到的属性的最后一个值,所以这就是它不更新的原因。
我做错了什么?
【问题讨论】: