You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Microsoft Graph API创建OneNote页面时多部分负载格式错误求助

调用Microsoft Graph API创建OneNote页面时多部分负载格式错误求助

看起来你在调用OneNote API创建带图片的页面时遇到了多部分负载格式的问题,我帮你梳理几个大概率出错的地方:


1. 图片块名称不匹配

你在HTML里的图片引用是 <img src="name:image-block-name">,这里指定的图片标识是 image-block-name,但请求体里对应图片部分的 name 属性却是 MyAppPictureId——这两个名称必须完全一致,OneNote才能把图片和HTML里的引用关联起来。

把图片部分的 Content-Disposition 改成这样:

Content-Disposition: form-data; name="image-block-name"

2. 图片数据格式错误

你当前在请求体里放的是base64编码的字符串(比如...9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQ...),但对于 Content-Type: image/jpeg 的部分,OneNote API要求直接传递原始的二进制图片数据,而不是base64编码后的文本。如果你的图片是base64格式的,需要先解码成二进制再放入请求体。

3. HTML部分的多余注释

你在HTML代码外面加了 /* 和 */ 注释,这会导致Presentation部分的内容格式错误,OneNote无法正常解析。请直接去掉这对注释,保留纯HTML内容。

4. 边界符的细节检查

确保请求头里的 boundary=MyAppPartBoundary 和请求体里的所有边界标记(--MyAppPartBoundary、结尾的--MyAppPartBoundary--)完全一致,包括大小写、没有多余空格。另外,每个部分之间的换行要正确,避免出现格式混乱。


修正后的请求体示例

--MyAppPartBoundary
Content-Disposition: form-data; name="Presentation"
Content-Type: text/html

<!DOCTYPE html>
<html>
<head>
<title>A page with an image: Image binary data</title>
<meta name="created" value="2015-11-11T12:45:00.000-8:00"/>
</head>
<body>
<p>This page displays the uploaded image.</p>
<img src="name:image-block-name" alt="a cool image" width="500">
</body>
</html>
--MyAppPartBoundary
Content-Disposition: form-data; name="image-block-name"
Content-Type: image/jpeg

[此处替换为原始JPEG二进制数据,不要base64编码]
--MyAppPartBoundary--

按照上面的几点调整后,应该就能解决20011的格式错误了。

备注:内容来源于stack exchange,提问作者Vishwadharshini V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:54:34