我有一个SharePoint网站,在Documents文件夹中有一个Excel文件。我想进行特定的Microsoft Graph调用,以获取文件所在位置的详细信息。当我在“图形资源管理器”中测试查询时,这可以按预期工作:
https://graph.microsoft.com/v1.0/sites/b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx/drive/root
当我尝试在使用Microsoft Graph .NET Client库的控制台应用程序中使用查询时,测试查询执行良好:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive.Root
.Request()
.GetAsync();
当我尝试选择该根目录内的特定文件夹 时,它也可以在Graph Explorer中使用:
https://graph.microsoft.com/v1.0/sites/b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx/drive/root/children/{foldername}/children/
但是当我在我的应用程序中尝试相同的查询时,它会返回错误。
代码:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive
.Root
.Children["foldername"]
.Children
.Request()
.GetAsync();
响应:
Error getting events:
Code: itemNotFound
Message: The resource could not be found.
我还尝试使用文件夹的id
代替,但是也失败了。
答案 0 :(得分:3)
如果您希望它使用路径,则需要使用ItemWithPath
:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive
.Root
.ItemWithPath("/{foldername}")
.Children
.Request()
.GetAsync();
您也可以像这样通过DriveItem id
检索它:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive
.Items["{item-id}"]
.Children
.Request()
.GetAsync();