如何在onedriveAPI的请求正文中指定@ microsoft.graph.conflictBehavior

Raj*_*dra 3 c# onedrive microsoft-graph

我正在满足以下要求的C#项目中:

  1. 如果没有退出,请创建一个文件夹
  2. 检查是否已经存在,如果存在则增加文件名。

根据Onedrive API文档中的说明,在OneDrive中创建一个新文件夹,它表示设置@ microsoft.graph.conflictBehavior = rename将增加文件夹值(如果存在)

如何将@ microsoft.graph.conflictBehavior添加到我的请求中?

这是使用驱动器Item创建文件夹的代码

var foldertoCreate = new DriveItem {
    Name = $"TestFolder",
    Folder = new Folder (),

};

var newFolder = await _graphClient.Drive
    .Items["MyParent_Item_Id"]
    .Children
    .Request ()
    .AddAsync (foldertoCreate);
Run Code Online (Sandbox Code Playgroud)

Bra*_*rad 7

我相信您应该可以通过手动添加注释AdditionalData。显然,这并不理想,但是我看不到使用当前SDK的另一种方法。

var foldertoCreate = new DriveItem
{
    Name = $"TestFolder",
    Folder = new Folder(),
    AdditionalData = new Dictionary<string, object>
    {
        { "@microsoft.graph.conflictBehavior", "rename" }
    },
};

var newFolder = await _graphClient.Drive
    .Items["MyParent_Item_Id"]
    .Children
    .Request()
    .AddAsync(foldertoCreate);
Run Code Online (Sandbox Code Playgroud)