我一直在尝试编写一个应用程序,通过Files REST API将文件上传到OneDrive for Business帐户。
我已成功使用以下方法
但是,根据文档(https://msdn.microsoft.com/office/office365/APi/files-rest-operations#FileoperationsUploadcontentforafileREST),我应该可以在单个API调用中执行此操作。
不幸的是,端点的文档并不清楚有效负载应该是什么,并且没有任何示例(也没有在网上发现任何内容)。
我一直在猜测标题/格式,但它们看起来类似于
POST https://{tentant}-my.sharepoint.com/_api/v1.0/me/files/{parent-id}/children/add
Content-Type: multipart/related; boundary=my_boundary
--my_boundary
Content-Type: application/json
{ path : 'my_doc.txt', nameConflict : 'abort', type : 'File' }
--my_boundary
Content-Type: application/octet-stream
{file stream}
--my_boundary--
到目前为止我尝试的每个组合都会返回此错误:
{
"code"=>"InvalidArgument",
"message"=>"The argument is invalid, missing, or has an incorrect format"
}
我哪里错了?
答案 0 :(得分:0)
OneDrive for Business文件api目前仍在增长Multi-part uploads are not yet supported。
查看旧文件v1 api(from this link)的文档,当谈到多部分时,它讨论的是组合多个相同类型的请求,例如:在单个有效负载中上传3个文件,而不是上传文件并在单个请求中更新其元数据。
获取有关OneDrive Apis手表的最新信息https://dev.onedrive.com或关注https://twitter.com/OneDriveDev