Office 365图形API - 文件管理

时间:2015-06-03 11:49:35

标签: api ms-office office365

美好的一天!

尝试使用Office 365 Graph API创建新文件:

问题#1

这是我的要求:

POST https://graph.microsoft.com/beta/me/files?nameConflict=overwrite

Headers:
Authorization: Bearer ......
Content-Type: application/json

Body:
{"name":"Blabla.pdf","type":"File"}

在第一次运行此请求时 - 一切正常,并在根fodler中创建文件。但如果我再次尝试创建此文件,我会收到回复:

{"error":{"code":"NameAlreadyExists","message":"A resource with the same name already exists"}}

根据doc我应该通过查询发送参数:nameConflict = overwrite。但它不起作用。我收到错误 NameAlreadyExists

覆盖现有文件名的正确方法是什么?

问题#2

如何在指定文件夹中创建新文件/文件夹?我应该首先创建新文件夹,然后将其移动到新文件夹updating properties吗?

1 个答案:

答案 0 :(得分:0)

问题#1

nameConflict查询参数不适用于/files端点,但实际上适用于Files/{parent-id}/children/{file-name}/uploadContent{base-url}/Files/getByPath('{file-path}')/uploadContent端点。但是,我理解文档中的混淆。

要更新现有文件,您应该将以下请求与请求正文中的内容一起使用。

PUT files/root/children/Blabla.pdf/content?nameConflict=overwrite

问题#2

是的,您应该使用更新属性方法来移动文件/文件夹。

希望这有帮助!如果您对API有更多疑问,请继续使用 office365 标记。