c# - Microsoft Graph API 查询适用于资源管理器,但不适用于 Microsoft Graph .NET 客户端库
问题描述
我有一个 SharePoint 站点,在 Documents 文件夹中,我有一个 Excel 文件。我想进行特定的 Microsoft Graph 调用,以获取文件所在位置的详细信息。当我在 Graph Explorer 中测试查询时,这可以按预期工作:
https://graph.microsoft.com/v1.0/sites/b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx/drive/root
当我尝试使用 Microsoft Graph .NET 客户端库在控制台应用程序中使用查询时,测试查询执行良好:
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
而不是,但这也失败了。
解决方案
如果您希望它使用您需要使用的路径ItemWithPath
:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive
.Root
.ItemWithPath("/{foldername}")
.Children
.Request()
.GetAsync();
您也可以id
像这样通过 DriveItem 检索它:
var resultPage = await graphClient
.Sites["b8b6d734-2f94-4070-ae22-xxxxxxxxxxxx"]
.Drive
.Items["{item-id}"]
.Children
.Request()
.GetAsync();
推荐阅读
- python - 在数组上使用来自 scipy.optimize 的 fsolve
- django - AttributeError:“NoneType”对象没有属性“秘密”
- html - SVG 图像在 ie 中没有获得视口的全宽
- odoo - 如何通过 ODOO 中的某些身份验证重定向到 URL
- javascript - 我们如何从 jquery 中的 keyup 获取 val
- python - Tkinter - 显示按钮
- python - 删除python数据框中的异常值
- php - 如何在 wordpress 管理页面(预订)中添加分页以及如何将我的预订打印为 pdf
- reactjs - 区块链和 ReactJs 用户界面
- javascript - 如何在 javascript 中获取 html 元素的邻居?