大家好!
尝试用Office 365图形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"}
当第一次运行这个请求时-一切正常,文件在根文件夹中创建。但是如果我尝试再次创建这个文件,我将得到响应:
{"error":{"code":"NameAlreadyExists","message":"A resource with the same name already exists"}}
根据文档,我应该通过query发送参数:nameconconflict =overwrite。但这行不通。我得到错误NameAlreadyExists。
覆盖现有文件名的正确方法是什么?
问题# 2
如何在指定文件夹中新建文件/文件夹?我是否应该先创建新文件夹,然后将其移动到新文件夹更新属性?
第一期
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
是的,你应该使用update properties方法来移动文件/文件夹。
希望这对你有帮助!如果您对api有更多疑问,请继续使用office365标签。