Получение контактов из EWS Managed API - PullRequest
1 голос
/ 15 сентября 2011

Я безуспешно искал способы сделать это и изучал документацию по API.Кто-нибудь знает, какой код необходим мне для получения контактов для конкретного пользователя.

Любая помощь будет принята с благодарностью

Ответы [ 2 ]

3 голосов
/ 14 августа 2012

Все остальные ответы, которые я нашел в Интернете, слишком сложны. ResolveName должно работать.

У меня сработал следующий пример кода;остальное просто смотрит в разные словари и выдает необходимую информацию.

    public void findContact(string name)
    {
        NameResolutionCollection coll = service.ResolveName(name,
            ResolveNameSearchLocation.ContactsThenDirectory,
            true);
        foreach (NameResolution res in coll)
        {
            Contact contact = res.Contact;
            if (contact != null)
            {
                // retrieve contact info here
                if (contact.PhoneNumbers != null)
                {
                    Console.WriteLine("get different kinds of phone numbers from here");
                }

                if (contact.EmailAddresses != null)
                {
                    Console.WriteLine("get different kinds of email addresses from here");
                }

                return;
            }
        }
    }
1 голос
/ 15 сентября 2011

В основном, это сводится к этим трем строкам:

var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1)
    {Credentials = new NetworkCredential("username", "password")};

service.AutodiscoverUrl("targetmailaddress", url => true);

var items = service.FindItems(new FolderId(WellKnownFolderName.Contacts, new Mailbox("targetmailaddress")), new ItemView(512));

Вам нужно заменить адрес электронной почты на адрес, который вы ищете.Если у вас есть только один сервер Exchange, вы можете пропустить часть автообнаружения и добавить URL-адрес службы в инициализацию службы в первом списке.

Как обычно, вы можете добавить фильтр элементов в вызов FindItems.

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