我一直在尝试编写一个通过 Files REST API 将文件上传到 OneDrive for Business 帐户的应用程序。
通过使用以下方法,我已经成功地做到了这一点
- 在根目录中创建一个空文件。
- 在第二个 API 调用中上传文件内容。
- 在第三次 API 调用中更新文件属性以将其移动到正确的子目录。
但是,根据文档(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"
}
我哪里错了?