【发布时间】:2019-08-01 09:43:08
【问题描述】:
上一个问题:here 被我们英勇又讨厌的版主关闭,他们冲进来标记所有错误,但是一旦您对其进行编辑以满足他们的异常需求,就没有人投票重新打开它,因为他们已经尽了自己的一份力...
那么请有人解释一下,如何在 SharePoint Online 列表中正确创建文件夹?
我尝试先使用 C# SDK 创建它,但没有成功。
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);
然后我开始使用 Graph Explorer,找到文件夹的 ContentType ID 并尝试将其创建为指定 ContentType 的项目。
这是 JSON 请求标头,导致在列表中创建文件夹,但它没有名称,因为文件夹在 SharePoint 中的行为与项目不同。
{
"Title" : "Test2",
"contentType": { "id": "0x012000FC4989A03C9F7845AD8C206E2F47A0FD" }
}
我尝试更改“名称”、“FileLeafRef”的“标题”以及任何可能是标题的文件夹内部名称,但无法弄清楚。它接受了所有的请求头,但创建的文件夹的名称仍然是空白的。
感谢任何帮助。
编辑:
我已经尝试了 Vadim 的建议,并且确实创建了该文件夹,乍一看,它似乎带有您在代码中指定的名称。但它也带有一些生成的名称,请参见图片右侧。
打开文件夹后,您的名字就会丢失,直到您刷新文件夹所在级别的页面。这是打开文件夹时的样子。
我也尝试在标题之外添加名称/名称,但它返回 小写和大写的“消息:无法识别字段'名称'”。
【问题讨论】:
-
显示您尝试的每个选项如何失败会很有用。假设有问题的列表是一个文档库,C# 示例应该可以工作。
-
如果它是一个文档库,我会说它是文档库,这只是一个列表。 C# 代码返回:代码:-1,Microsoft.SharePoint.Client.ResourceNotFoundException 消息:找不到请求的资源 Microsoft.FileServices.FileService/Sites('50cb05fa-27f9-45bf-a5f3-5f82e0e2eb00')/lists('ad52e785- c9b7-4106-af7b-a3394462875c')/drive/.
-
Graph Explorer 中调用了其他方法,没有返回错误,但创建的文件夹没有名称。因为我将它创建为指定 contentType 的项目。
标签: c# microsoft-graph-api sharepoint-online microsoft-graph-sdks