C# Microsoft Graph API客户端库-创建文件夹

C# Microsoft Graph API客户端库-创建文件夹,c#,microsoft-graph-api,microsoft-graph-sdks,C#,Microsoft Graph Api,Microsoft Graph Sdks,我正在尝试使用Microsoft Graph(C#SDK)在SharePoint中的现有文件夹下创建一个文件夹。我知道在SharePoint或OneDrive上创建文件夹应该与使用Graph API时相同,但仍然找不到任何好的在线参考。我找到的唯一一篇文章是,它只有一个JavaScript示例 我有一个根文件夹a,我想在a下创建一个子文件夹B 代码如下: var driveRequestBuilder = graphClient .Sites[SharePointSiteId]

我正在尝试使用Microsoft Graph(C#SDK)在SharePoint中的现有文件夹下创建一个文件夹。我知道在SharePoint或OneDrive上创建文件夹应该与使用Graph API时相同,但仍然找不到任何好的在线参考。我找到的唯一一篇文章是,它只有一个JavaScript示例

我有一个根文件夹
a
,我想在
a
下创建一个子文件夹
B

代码如下:

var driveRequestBuilder = graphClient
    .Sites[SharePointSiteId]
    .Lists[ListId]
    .Drive;

var folderRequestBuilder = driveRequestBuilder
    .Root
    .ItemWithPath("A");
var folderDriveItem = folderRequestBuilder
    .Request()
    .GetAsync()
    .Result; // This returns the root folder "A"'s info

var subFolderDriveItem = new DriveItem()
{
    Name = "B",
    Folder = folderDriveItem.Folder
};
var result = folderRequestBuilder
    .Request()
    .CreateAsync(subFolderDriveItem)
    .Result;
最后一行代码抛出一个
aggregateeexception
(因为TPL),其中包含内部异常:

code:-1,Microsoft.SharePoint.Client.InvalidClientQueryException
消息:方法getByPath中不存在参数文件夹。
内部误差

我想知道创建子文件夹的正确语法。

如果是子文件夹,则创建文件夹的端点应为

POST https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/drive/root:/{path}:/children
Content-Type: application/json

{
  "name": "New folder name",
  "folder": { },
  "@microsoft.graph.conflictBehavior": "rename"
}
msgraph sdk dotnet
示例:

var folder = new DriveItem
{
    Name = "<sub folder name>",
    Folder = new Folder()
};

var result = await graphClient
    .Sites[siteId]
    .Lists[listId]
    .Drive
    .Root
    .ItemWithPath("<folder path>")
    .Children
    .Request()
    .AddAsync(folder);
var folder=new DriveItem
{
Name=“”,
文件夹=新文件夹()
};
var结果=等待图形客户端
.Sites[siteId]
.Lists[listId]
.开车
.根
.ItemWithPath(“”)
儿童
.Request()
.AddAsync(文件夹);