尝试将 PDF 文件上传到 OneNote 时出现错误 "request too large (413)"
Error "request too large (413)" when trying to upload a PDF file to OneNote
我正在尝试使用 Microsoft Graph REST API (Objective-C) 在 OneNote 中创建新页面。这些新页面应包含一个 PDF 文档作为附件。
POST 操作成功处理小于 ~4MB 的 PDF 文件。但是,对超过 4MB 的文件的操作失败并显示错误消息 request too large (413)
和以下响应:
{
"error": {
"code": "BadRequest",
"message": "Maximum request length exceeded.",
"innerError": {
"request-id": "269c663c-9289-47cc-a833-d471b7b867f6",
"date": "2019-04-09T09:35:49"
}
}
}
使用的终点是:https://graph.microsoft.com/v1.0/me/onenote/sections/XXX/pages
Microsoft 在 documentation for Graph and OneNote 中声明:
- The total POST size limit is ~70 MB, including images, files, and other data. The actual limit is affected by downstream encoding, so there's no fixed byte-count limit. Requests that exceed the limit may produce unreliable results.
- The limit for each data part is 25 MB, including the part headers. Data parts that exceed the limit are rejected by Microsoft Graph.
我在 OneNote 的 Microsoft Graph 文档中找不到 POST 请求的任何 4MB 限制。我当前的问题有解决方法吗?
简短的回答是该文档不正确。较长的答案需要 Graph 本身的一些背景知识。
Graph 是一个 API 聚合器。它接收传入请求,将它们路由到一个或多个底层 API,然后规范化响应,以便最终开发人员跨端点获得一致的结果。
在这种情况下,基础 API 是 OneNote REST API。文档中提到的限制在 OneNote API 方面是准确的,但由于此请求是由 Graph 处理的,因此在该请求被路由到底层 API。
很可能在将原始文档移植到 Graph 时无意中遗漏了文档错误。我已经提交了一份 documentation issue 以便可以更正。
我正在尝试使用 Microsoft Graph REST API (Objective-C) 在 OneNote 中创建新页面。这些新页面应包含一个 PDF 文档作为附件。
POST 操作成功处理小于 ~4MB 的 PDF 文件。但是,对超过 4MB 的文件的操作失败并显示错误消息 request too large (413)
和以下响应:
{
"error": {
"code": "BadRequest",
"message": "Maximum request length exceeded.",
"innerError": {
"request-id": "269c663c-9289-47cc-a833-d471b7b867f6",
"date": "2019-04-09T09:35:49"
}
}
}
使用的终点是:https://graph.microsoft.com/v1.0/me/onenote/sections/XXX/pages
Microsoft 在 documentation for Graph and OneNote 中声明:
- The total POST size limit is ~70 MB, including images, files, and other data. The actual limit is affected by downstream encoding, so there's no fixed byte-count limit. Requests that exceed the limit may produce unreliable results.
- The limit for each data part is 25 MB, including the part headers. Data parts that exceed the limit are rejected by Microsoft Graph.
我在 OneNote 的 Microsoft Graph 文档中找不到 POST 请求的任何 4MB 限制。我当前的问题有解决方法吗?
简短的回答是该文档不正确。较长的答案需要 Graph 本身的一些背景知识。
Graph 是一个 API 聚合器。它接收传入请求,将它们路由到一个或多个底层 API,然后规范化响应,以便最终开发人员跨端点获得一致的结果。
在这种情况下,基础 API 是 OneNote REST API。文档中提到的限制在 OneNote API 方面是准确的,但由于此请求是由 Graph 处理的,因此在该请求被路由到底层 API。
很可能在将原始文档移植到 Graph 时无意中遗漏了文档错误。我已经提交了一份 documentation issue 以便可以更正。