【发布时间】:2021-01-24 08:24:02
【问题描述】:
我正在尝试为 OneDrive API 创建上传 PUT 请求。大文件“可续传”版本需要createUploadSession。
我在这里阅读了 Microsoft 文档:As a warning the docs are VERY inaccurate and full of factual errors...
文档只是说:
放 https://sn3302.up.1drv.com/up/fe6987415ace7X4e1eF866337
内容长度: 26
Content-Range:字节 0-25/128
我已通过身份验证并创建了上传会话,但是当我传递包含我的二进制文件的 JSON 正文时,我收到此错误:
{ “错误”:{ "code": "BadRequest", "message": "payload 中的属性文件的值与架构不匹配。", .....
谁能指出我的架构定义?或者解释一下 JSON 应该如何构造?
作为一个附带问题,我完全正确地使用“application/json”吗?请求应该使用什么格式?
确认一下,我可以看到创建的临时文件已准备好并在 OneDrive 上等待上传,所以我知道我已经接近了。
感谢您的帮助!
【问题讨论】:
-
您需要记住,您的应用必须确保 Content-Range 标头中指定的总文件大小对于所有请求都相同。如果字节范围声明了不同的文件大小,则请求将失败。所以,我会尝试这样的事情: PUT sn3302.up.1drv.com/up/fe6987415ace7X4e1eF866337 Content-Length: 26 Content-Range: bytes 0-25/128
-
谢谢你,但我不想分块上传。我将整个文件放在一个请求中。真正的问题是什么是正确的 JSON 模式。另外,application/json 是正确的 Content-Type 吗?
标签: microsoft-graph-api onedrive