gpt4 book ai didi

c# - Microsoft Graph API - DriveItem 上的权限不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:10 24 4
gpt4 key购买 nike

我正在使用 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);

当我第一次运行代码时一切正常,但第二次出现此错误:

You cannot get content for a folder

这太奇怪了……我做错了什么?或者有没有办法通过名称获取 DriveItem 来获取 id?

最佳答案

文档在这一点上并不是很清楚,但是 "@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();

关于c# - Microsoft Graph API - DriveItem 上的权限不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com