我正在尝试在列表中创建文件夹,但以下操作无效:
var folder = new DriveItem
{
Name = plan.Title,
Folder = new Folder()
};
await graphServiceClient
.Sites["ourdomain.sharepoint.com:/sites/ITOddeleni:"]
.Lists["Planner"]
.Drive
.Root
.Children
.Request()
.AddAsync(folder);
我将这些用作其他呼叫的参数,我可以保留它还是期望GUID?
编辑1
错误引号是代码:
BadRequest
Message: Url specified is invalid.
因此,我假设.Sites
和.Lists
应该具有GUID,但是用网站ID和列表ID替换网站URL后,我得到以下信息:
Code: -1, Microsoft.SharePoint.Client.ResourceNotFoundException
Message: Cannot find resource for the request Microsoft.FileServices.FileService/Sites('50cb05fa-27f9-45bf-a5f3-5f82e0e2eb00')/lists('ad52e785-c9b7-4106-af7b-a3394462875c')/drive/.
编辑2
我尝试通过Graph Explorer创建文件夹,在列表中找到该文件夹的内容类型ID,并使用POST https://graph.microsoft.com/v1.0/sites/50cb05fa-27f9-45bf-a5f3-5f82e0e2eb00/lists/ad52e785-c9b7-4106-af7b-a3394462875c/items
具有此请求正文
{
"Title" : "Test2",
"contentType": { "id": "0x012000FC4989A03C9F7845AD8C206E2F47A0FD" }
}
现在将创建文件夹,但是呼叫需要标题,但不接受名称,这将导致创建的文件夹中没有名称(标题)。编辑:它接受小写的N的“名称”,但名称仍未显示在列表中。试图将其作为“ BaseName”,“ FileLeafRef”和Folder的其他一些内部名称发送,但没有成功。
答案 0 :(得分:0)
没有错误消息,目前尚不清楚发生了什么。也就是说,创建新文件夹的语法应如下所示:
var folder = new DriveItem
{
Name = plan.Title,
Folder = new Folder { },
@microsoft.graph.conflictBehavior = "rename"
};