длина списка контактов из графика контактов api не совпадает с количеством контактов, отображаемым на странице людей office365 - PullRequest
0 голосов
/ 17 октября 2018

Мы используем график API для извлечения контактов.Но для специального тестового аккаунта результат из Graph API не совпадает с показанным people panel of the Office365. Снимок экрана

Кроме того, мы импортируем список контактов дважды , запустив скрипт, в результате которого получаются дублированные данные контактов, которые имеют другое поле id.И мы не можем найти дубликаты из people panel of the Office365.

Так как же мы можем получить тот же результат, что и на снимке экрана, число контактов которого составляет 5517.

1 Ответ

0 голосов
/ 17 октября 2018

Согласно вашему описанию, вы хотите найти дубликаты.Возможно, не существует API для этого. Если вы хотите найти дубликат списка контактов, мы можем отправить функцию в Пользовательский голос MS .

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

var contacts = await _serviceClient.Me.Contacts.Request().GetAsync();
        // Get duplicate list of contacts through the name of the contact person
        var result = from contact in contacts.CurrentPage
                     group contact by contact.DisplayName into dupContacts
                     where dupContacts.Count() > 1
                     select dupContacts;

Если вы хотите различать контакты с помощью кода, мы можем использовать следующий код:

var contacts = await _serviceClient.Me.Contacts.Request().GetAsync();
var result = contacts.CurrentPage.Distinct(new ContactComparer())

А класс ContactComparer выглядит следующим образом:

public class ContactComparer : IEqualityComparer<Contact>
{
    public bool Equals(Contact x, Contact y)
    {
        if (string.CompareOrdinal(x.DisplayName, y.DisplayName) == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...