Вызов API графа Microsoft из приложения dotnetcore возвращает NotFound - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь получить элементы из 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 и делать все, что захочет. :)

1 Ответ

1 голос
/ 21 апреля 2020

Я могу воспроизвести то же исключение, которое выдается при вызове из Graph. Net SDK в C#. Взятие точно такого же URL, который генерируется SDK, и тестирование в Graph Explorer также успешны. Я бы порекомендовал открыть выпуск на графике . Net SDK repo .

...