У меня есть файлы на диске SharePoint, и я хочу разработать полнотекстовый поиск.Работает следующий вызов в Graph Explorer, который находит мои файлы либо по имени файла, либо по содержимому:
https://graph.microsoft.com/v1.0/drives/{my drive id}/root/search(q='my search word')
Этот же вызов из моего приложения ASP.NET, размещенного на Azure, с использованием пакета Microsoft.Graph-NuGet
всегда возвращает пустой список:
await _client
.Drives[{my drive id}]
.Root
.Search({my search word})
.Request()
.GetAsync()
_client
- это аутентифицированный GraphServiceClient
.Для проверки подлинности я получаю токен через конечную точку Azure AD (приложение, зарегистрированное на портале Azure), а не от конечной точки v2 (приложение, зарегистрированное на портале регистрации приложений).Чтобы исключить это в качестве причины, я использовал конечную точку v2, но различий не было.
Приложение имеет область действия Files.ReadWrite.All
.Прием, сохранение и удаление файлов работает нормально.Только поиск не удался.
В качестве теста я дал своему приложению все права, которые Graph Graph имеет без разницы.Я сравнил URL, подготовленный GraphServiceClient
, но все выглядело хорошо.