Microsoft graph 批量调用 OneNote 页面重命名失败并显示消息 "Invalid JSON body for request id"

Microsoft graph batch calls for OneNote page renames fails with message "Invalid JSON body for request id"

我正在进行图形批量调用以重命名 OneNote 页面标题,我正在关注 graph website.

上提供的这些示例

为简单起见,以下是单个请求的示例(通常在我的场景中有多个请求)。

POST https://graph.microsoft.com/v1.0/$批量

{  
   "requests":[  
      {  
         "id":"1",
         "method":"PATCH",
         "url":"https://graph.microsoft.com/v1.0/me/onenote/pages/1-98c2295df76a4067a6036efc6a8f6f74!84-f754d551-02d2-4416-af42-8fcc644f10e6/content",
         "headers":{  
            "Content-Type":"application/json"
         },
         "body":[  
            {  
               "target":"title",
               "action":"replace",
               "content":"2 - Test1"
            }
         ]
      }
   ]
}

我收到此呼叫的 400 响应,其中包含以下消息

{
"error": {
    "code": "BadRequest",
    "message": "Invalid JSON body for request id : 1",
    "innerError": {
        "request-id": "2cc6bfcc-6ce5-471c-af37-181ef0dd5a9e",
        "date": "2018-10-22T10:06:54"
    }
  }
}

同样的请求,如果我在没有批量的情况下在单个调用中执行,它工作正常。我做了足够的调查,找不到在批处理请求中传递数组的任何示例 body。是批处理请求不支持数组内容吗body 或者 OneNote 调用不完全兼容批处理?。

注意:我尝试在不带数组的 body 中提供内容,但也失败并显示消息 "Specified method is not supported."

url必须是相对的,如图here

用你的代码试试这个:

"url":"/me/onenote/pages/1-98c2295df76a4067a6036efc6a8f6f74!84-f754d551-02d2-4416-af42-8fcc644f10e6/content"