我正在尝试更新(修补(现有的Microsoft Planner任务,以将一(1(个清单项目添加到其中。我正在使用Microsoft doc https://learn.microsoft.com/en-us/graph/api/plannertaskdetails-update?view=graph = graph = graph-rest-1.0& tabs = javascript作为参考请求。
{
"error": {
"code": "",
"message": "The If-Match header contains an invalid value.",
"innerError": {
"request-id": "7b50a25b-7c5a-443b-9a41-1b6314be4014",
"date": "2019-05-16T23:59:03"
}
}
}
据我所知,IF-Match键的构建与Microsoft文章的使用方式完全相同。在p/144092(,但是这个人填写IF匹配值不同,这对我来说根本不起作用...
我首先创建任务后从收到的响应中重复了ETAG值: "@odata.etag": "W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc=""
有人知道我在这里做错了什么?
这是我的补丁:
https://graph.microsoft.com/v1.0/planner/tasks/n...................pYAM-DX/details
这些是我的标题:
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub..........
If-Match: W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="
这是我的身体:
{
"previewType": "checklist",
"checklist": {
"{{$guid}}":{
"@odata.type": "microsoft.graph.plannerChecklistItem",
"title": "Update task details",
"isChecked": false
}
}
}
我期望匹配键是正确的,因为我已经使用了Microsoft文章,但是它以某种方式导致错误消息:
" if匹配标头包含无效的值。"
我也有类似的问题。更新任务详细信息时,我使用了任务中的ETAG。任务和任务细节是不同的对象。检查-MS Graph Doc
从创建任务的任务详细信息中获取ETAG值:
GET https://graph.microsoft.com/v1.0/planner/tasks/{task-id}/details