MS 图 API 更新 PlannerTask.ConversationThreadId
MS Graph API Update 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);
它抛出这个错误:
Message: The request is invalid: An unexpected 'StartObject' node was
found for property named 'assignedBy' when reading from the JSON
reader. A 'PrimitiveValue' node was expected.
我做错了什么?
谢谢
获取方式为:
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”。这种方式对我来说就像一个魅力。
我想更新 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);
它抛出这个错误:
Message: The request is invalid: An unexpected 'StartObject' node was found for property named 'assignedBy' when reading from the JSON reader. A 'PrimitiveValue' node was expected.
我做错了什么?
谢谢
获取方式为:
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”。这种方式对我来说就像一个魅力。