При поиске с использованием Microsoft Graph API DriveItems отображаются только несколько имен файлов из sharepoint. - PullRequest
1 голос
/ 18 марта 2020

Я использую приведенный ниже код для поиска файлов в 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, когда я ищу политику, есть много результатов.

Пожалуйста, помогите мне получить все файлы, используя приведенный выше код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...