Я использую приведенный ниже код для поиска файлов в sharepoint:
string cSecret = "XXXXXX";
string cId = "XXXXXXX";
var scopes = new string[] { "https://graph.microsoft.com/.default" };
var confidentialClient = ConfidentialClientApplicationBuilder
.Create(cId)
.WithAuthority($"https://login.microsoftonline.com/XXXXX.onmicrosoft.com/v2.0")
.WithClientSecret(cSecret)
.Build();
string requestUrl;
GraphServiceClient graphClient =
new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) =>
{
var authResult = await confidentialClient
.AcquireTokenForClient(scopes)
.ExecuteAsync();
// Add the access token in the Authorization header of the API request.
requestMessage.Headers.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken);
}));
requestUrl = "https://graph.microsoft.com/beta/search/query";
var files = await graphClient.Drive.Root
.Search("policy")
.Request()
.GetAsync();
do
{
foreach (DriveItem file in files)
{
Console.WriteLine(file.Name);
}
} while (files.NextPageRequest != null && (files = await files.NextPageRequest.GetAsync()).Count > 0);
Но в файлах отображается только одно имя файла. Имя и количество страниц - только одна следующая страница пуста. Я проверил вручную и с использованием ниже api.
https://XXXX.sharepoint.com/_api/search/query?querytext='policy'
и в sharepoint, когда я ищу политику, есть много результатов.
Пожалуйста, помогите мне получить все файлы, используя приведенный выше код.