我正在使用Microsoft Graph将DriveItem
创建为Folder
,并且试图将权限设置为“替换”。我尝试了以下方法:
var driveItem = new DriveItem
{
Name = Customer_Name.Text + Customer_LName.Text,
Folder = new Folder { },
AdditionalData = new Dictionary<string, object>()
{
{ "@microsoft.graph.conflictBehavior", "replace" }
}
};
var newFolder = await App.GraphClient
.Me
.Drive
.Items["item.ID"]
.Children
.Request()
.AddAsync(driveItem);
第一次运行代码时,一切都很酷,但是第二次出现此错误:
您无法获取文件夹的内容
哪个超级奇怪...我在做什么错?还是可以通过名称获取DriveItem
以获得ID?
答案 0 :(得分:0)
在这一点上,文档尚不清楚,但是"@microsoft.graph.conflictBehavior": "replace"
对于“文件夹”不是有效的选项。如果考虑到replace
的含义,可能会导致无意中删除所有子文件或文件夹。
关于使用路径而不是ID,您可以通过将Item["id"]
替换为ItemWithPath("item/with/path")
来实现:
var folder = await App.GraphClient
.Me
.Drive
.Root
.ItemWithPath("folder name")
.Request()
.GetAsync();
您可以使用:
var childItems = await App.GraphClient
.Me
.Drive
.Root
.ItemWithPath("folder name")
.Children
.Request()
.GetAsync();