• 1000 .GraphServiceClient, выполните следующее действие с SharePoint с дочерним сайтом «ASubSite» с библиотекой документов «ADocumentLibrary» с вложенной папкой «ASubFolder», содержащей хотя бы один файл:
var driveItems = await graphClient.Sites.Root.SiteWithPath("ASubSite")
.Lists["ADocumentLibrary"]
.Drive.Root.ItemWithPath("ASubFolder")
.Children.Request().GetAsync();
Результатом будет «URL указано недействительно »Ошибка
Code: BadRequest Message: Url specified is invalid. Inner error: AdditionalData: date: 2020-06-18T13:49:41 request-id: 6f142e22-7ea9-4bbf-bbb2-1121cc8d7676 ClientRequestId: 6f142e22-7ea9-4bbf-bbb2-1121cc8d7676
Если я сначала определю идентификатор дочернего сайта и использую его в следующем вызове, я получаю список элементов диска.
var driveItems = await graphClient.Sites.Root
.Sites["myTenant.sharepoint.com,9bc84365-e50b-4a71-b4d1-cb35e97c4902,4d2d190d-b203-46a4-8198-47538013f202"]
.Lists["ADocumentLibrary"]
.Drive.Root.ItemWithPath("ASubFolder")
.Children.Request().GetAsync();
Его поведение аналогично в Graph Explorer или Postman:
https://graph.microsoft.com/beta/sites/root:/ASubSite:/lists/ADocumentLibrary/drive/root:/ASubFolder:/children
не работает, а
https://graph.microsoft.com/beta/sites/myTenant.sharepoint.com,9bc84365-e50b-4a71-b4d1-cb35e97c4902,4d2d190d-b203-46a4-8198-47538013f202/lists/ADocumentLibrary/drive/root:/ASubFolder:/children
работает правильно. В обоих ошибочных вариантах диск библиотеки документов - последний объект, который можно определить. Попытка получить доступ к объекту «root» диска уже приводит к сообщению об ошибке.
Ожидаемое поведение: даже если я уже предоставлю обходной путь, я ожидаю, что в обоих вызовах диск библиотеки документов будет вести себя одинаково, независимо каким образом определяется.
Спасибо за помощь, Калле