Я пытаюсь получить элементы из SharePoint, используя Graph API от имени пользователя, все это делается в веб-приложении. net core 3.1 с использованием oauth. Когда я запрашиваю определенные c элементы в библиотеке документов 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-сайта. Идентификатор
- SharePointDocumentLibraryId библиотеки документов.
- InvoicesFolderId ID папки, в которой я хотел бы перечислить дочерние элементы * 1014. *
Странно, что пока я не запрашиваю только диск:
var searchResult = await graphServiceClient
.Sites[$"{SharePointSiteId}"]
.Drives[$"{SharePointDocumentLibraryId}"]
.Request()
.GetAsync();
все идет хорошо.
Странная вещь 2: если я вызываю API с помощью Graph проводник с тем же пользователем, в то же время использующий идентификатор элемента {InvoicesFolderId}, хорошо возвращает своих потомков. Излишне говорить, что пользователь может войти на сайт SPS и делать все, что захочет. :)