美好的一天!
尝试使用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吗?
答案 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 标记。