OneNote的API(REST) - PATCH追加 - (?!)“必须包括一个“命令”错误时,

2019-10-23 11:39发布

注:我敢肯定,没有什么是错的PATCH查询,我不得不将其与“内容类型”前的工作:“应用/ JSON”和构建JSON文件:

[
  {
  'target':'|TARGET_ID|',
  'action':'append',
  'content':'|HTML|'
  }  
]

对于此目的,所提供的报头(认证承载是正确的,将被省略)

'Content-type':'multipart/form-data; Boundary=sectionboundary' 

(注:边界= sectionboundary是在同一直线上)

试图通过以下身体作为补丁
https://www.onenote.com/api/v1.0/pages/|GUID|/content返回“代码”:“20124”,“消息”:“多部分PATCH请求必须包括一个‘命令’含有PATCH动作JSON结构部分“。 :

--sectionboundary
Content-Disposition: form-data; name="Commands"
Content-Type: application/json
[
  {
  'target':'|TARGET_ID|',
  'action':'append',
  'content':'|HTML|'
  }  
]

--sectionboundary
Content-Disposition: form-data; name="image-part-name"
Content-Type: image/png

|BINARY_IMAGE_DATA|

--sectionboundary--

正如你所看到的,有一个命令部分了。 使用小型大写字母“命令”没有帮助,和正确的语法应该是“命令”按OneNote的开发中心文档。

PS:| TARGET_ID | | HTML | | GUID | 和| BINARY_DATA | 被替换在运行时正确的内容。 由于隐私权限制,事实上,你可以使用一个不同的模式,比我做的,多久| BINARY_IMAGE_DATA | 实际上是,我将不会显示实际输入,除非需要解决的问题。

想知道如果我错过了什么 - 在此先感谢。

PPS:是的,我知道我已经省略了img标签内| HTML | 某处。 它不应该有任何与代码20124,如果我听错了,应该全部退还另一件事。

Answer 1:

根据调查您共享的请求信息,我可以证实,补丁请求你提供不符合您的贴头信息相关的部分引用。 所述相关PATCH请求显示为仅具有媒体类型“TEXT / HTML”而不是“应用程序/ JSON”单个部分的多部分请求。 能否请您检查并确认您的请求的内容? 让我们继续来讨论这个问题的电子邮件。 如果你仍然面临调用API的问题,请写信给我在machandw@microsoft.com

问候,马诺



文章来源: Onenote API (REST) - PATCH append - “must include a 'commands'” error when Commands is already supplied (?!)