Microsoft graph api 当项目已经存在时,如何使OneDrive put失败?

Microsoft graph api 当项目已经存在时,如何使OneDrive put失败?,microsoft-graph-api,onedrive,Microsoft Graph Api,Onedrive,使用,我可以使用http PUT创建OneDrive项。 例如,下面的uri在我的根目录下创建一个testfile.txt: https://graph.microsoft.com/v1.0/me/drive/root:/testfile.txt:/content 现在,如果文件已经存在,我希望PUT失败,并且OneDrive项目的一般文档说明了如何指定冲突行为-如果我阅读正确,例如: https://graph.microsoft.com/v1.0/me/drive/root:/testfi

使用,我可以使用http PUT创建OneDrive项。 例如,下面的uri在我的根目录下创建一个testfile.txt:

https://graph.microsoft.com/v1.0/me/drive/root:/testfile.txt:/content
现在,如果文件已经存在,我希望PUT失败,并且OneDrive项目的一般文档说明了如何指定冲突行为-如果我阅读正确,例如:

https://graph.microsoft.com/v1.0/me/drive/root:/testfile.txt:/content?@microsoft.graph.conflictBehavior=fail
但是,PUT仍然成功地覆盖了现有的“testfile.txt”

有人能帮我写一个PUT查询,以便在项目已经存在的情况下失败吗? OneDrive支持吗? 是否需要转到Microsoft Graph的测试版?

根据,这应该在请求正文中指定,而不是作为查询参数:

{
    "item": {
        "@microsoft.graph.conflictBehavior": "fail"
    }
}
这也仅在“可恢复上载”场景中受支持,因为直接上载的请求主体是文件本身。一般来说,指导原则是在可能的情况下始终使用可恢复上载。直接上载仅限于小于4MB的文件,这使得它不适用于大多数场景


还值得注意的是,您引用的文档是针对独立的OneDrive API的。虽然这与Graph的实现非常相似,但它们并不完全可互换。是图形信息的唯一权威来源。

dev.OneDrive.com上的文档确实描述了通过Microsoft Graph进行调用,并且应该在如何通过Microsoft Graph使用OneDrive方面被视为权威。有一个单独的文档描述了Microsoft Graph和OneDrive API之间的差异,但所有文档的内容都集中在MS Graph上。@Marc LaFleur,第一个链接已断开