从 dotnet 核心应用 returns 调用 Microsoft 图形 API 未找到
Calling Microsoft graph API from dotnetcore app returns NotFound
我正在尝试使用用户名中的图形 API 从 SharePoint 获取项目,所有这些都是使用 oauth 在 .net core 3.1 网络应用程序中完成的。当我请求 SharePoint 文档库中的特定项目时,我得到以下 ServiceException:
ex = {"Code: itemNotFound\r\nMessage: The resource could not be found.\r\nInner error:\r\n\tAdditionalData:\r\n\trequest-id: 7605d475-5967-481e-a16c-ab1fad610ef9\r\n\tdate: 2020-04-15T21:27:48\r\nClientRequestId: 7605d475-5967-481e-a16c-ab1fad610ef9\r\n"}
我的调用函数如下:
var searchResult = await graphServiceClient
.Sites[$"{SharePointSiteId}"]
.Drives[$"{SharePointDocumentLibraryId}"]
.Items[$"{InvoicesFolderId}"]
.Children
.Request()
.GetAsync();
其中:
- SharePointSiteId 是完全合格的 SPS 站点 ID
- 文档库的 SharePointDocumentLibraryId id
- 我想在其中枚举子元素的文件夹的 InvoicesFolderId id
奇怪的是,直到我只请求驱动器:
var searchResult = await graphServiceClient
.Sites[$"{SharePointSiteId}"]
.Drives[$"{SharePointDocumentLibraryId}"]
.Request()
.GetAsync();
一切顺利。
奇怪的事情 2:如果我使用项目标识符 {InvoicesFolderId} 与同一用户同时使用 Graph 资源管理器调用 API,它会很好地返回其子项。
不用说,用户可以登录到 SPS 站点并为所欲为。 :)
我能够重现在 C# 中从 Graph .Net SDK 调用时抛出的相同异常。采用由 SDK 生成的完全相同的 URL 并在 Graph Explorer 中进行测试也成功。我建议在 Graph .Net SDK repo.
上打开一个问题
我正在尝试使用用户名中的图形 API 从 SharePoint 获取项目,所有这些都是使用 oauth 在 .net core 3.1 网络应用程序中完成的。当我请求 SharePoint 文档库中的特定项目时,我得到以下 ServiceException:
ex = {"Code: itemNotFound\r\nMessage: The resource could not be found.\r\nInner error:\r\n\tAdditionalData:\r\n\trequest-id: 7605d475-5967-481e-a16c-ab1fad610ef9\r\n\tdate: 2020-04-15T21:27:48\r\nClientRequestId: 7605d475-5967-481e-a16c-ab1fad610ef9\r\n"}
我的调用函数如下:
var searchResult = await graphServiceClient
.Sites[$"{SharePointSiteId}"]
.Drives[$"{SharePointDocumentLibraryId}"]
.Items[$"{InvoicesFolderId}"]
.Children
.Request()
.GetAsync();
其中:
- SharePointSiteId 是完全合格的 SPS 站点 ID
- 文档库的 SharePointDocumentLibraryId id
- 我想在其中枚举子元素的文件夹的 InvoicesFolderId id
奇怪的是,直到我只请求驱动器:
var searchResult = await graphServiceClient
.Sites[$"{SharePointSiteId}"]
.Drives[$"{SharePointDocumentLibraryId}"]
.Request()
.GetAsync();
一切顺利。
奇怪的事情 2:如果我使用项目标识符 {InvoicesFolderId} 与同一用户同时使用 Graph 资源管理器调用 API,它会很好地返回其子项。 不用说,用户可以登录到 SPS 站点并为所欲为。 :)
我能够重现在 C# 中从 Graph .Net SDK 调用时抛出的相同异常。采用由 SDK 生成的完全相同的 URL 并在 Graph Explorer 中进行测试也成功。我建议在 Graph .Net SDK repo.
上打开一个问题