如何修复 - 更新plannertaskDetails- if -Match标头包含无效的值



我正在尝试更新(修补(现有的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

最新更新