c# - MS Graph API 更新 PlannerTask.ConversationThreadId
问题描述
我想更新 PlannerTask 中的“ConversationThreadId”字段。
这是我的代码:
plannerTask = await graphClient.Planner.Tasks["XXXXXXXXX"].Request().GetAsync();
var eTagId = plannerTask.GetEtag();
plannerTask.ConversationThreadId = "YYYYYYYY";
await graphClient.Planner.Tasks[plannerTask.Id]
.Request()
.Header("Prefer", "return=representation")
.Header("If-Match", eTagId)
.UpdateAsync(plannerTask);
它抛出了这个错误:
消息:请求无效:从 JSON 读取器读取时,为名为“assignedBy”的属性找到了意外的“StartObject”节点。需要一个“PrimitiveValue”节点。
我究竟做错了什么?
谢谢
解决方案
获得方法是:
plannerTask = await graphClient.Planner.Tasks["XXXXXXXXX"].Request().GetAsync();
var eTagId = plannerTask.GetEtag();
var newTask = new PlannerTask {
ConversationThreadId = "YYYYYYYY"
};
await graphClient.Planner.Tasks[plannerTask.Id]
.Request()
.Header("Prefer", "return=representation")
.Header("If-Match", eTagId)
.UpdateAsync(newTask);
这是因为它不是 PUT 而是 PATCH,所以我们只应该发送已更改的字段。我正在发送完整的对象,这就是问题所在。现在我创建 newTask 并只在其中指定“ConversationThreadId”。这种方式对我来说就像一种魅力。
推荐阅读
- react-native - React Native:超过最大更新深度
- r - 是否可以在 r 中使用 ggplot 在绘图区域的角落添加一个小图
- python - 使用 Pandas 将周数转换为周(日期)
- ios - UITextField 的带下划线的文本会导致整个文本字段带下划线
- excel - 为什么我不能在 Excel 中侧加载开发人员 Web 加载项(在其他计算机上工作正常)?
- python - 当我将此数据框转换为字典时,为什么索引设置不正确?
- python - 遍历一列的值以获取另一列的描述性统计信息
- javascript - 如何在firebase数据库中添加indexOn userId
- java - 使用 Java 8,如何从图像中查看 JVM 可用的空间?
- swiftui - 为什么我更改 State var 后我的 swift ui 视图没有更新?