Как получить список контактов с Exchange Server?

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

public Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

Для большей ясности следуйте этому doc .

14
задан Alfred Myers 18 January 2010 в 13:17
поделиться

1 ответ

Вы должны иметь возможность использовать свой исходный сценарий без изменений - $2 ~ name уже выполняет regex-поиск, поэтому если вызвать сценарий с name = ^ Mc , то он вернет имена, начинающиеся с «Mc». На самом деле это не хороший пример, так как Mc появляется только в начале имени - если вы используете name = ^ Smith , то он найдет Smiths, но не McSmiths.

-121--2275683-

Это способ получить список контактов из списка контактов взамен с помощью EWS. Я еще не уверен, как получить контакты из глобального списка, только посмотрел на API час назад.

private static void ListContacts(ExchangeService svc) {
    foreach (var v in svc.FindItems(WellKnownFolderName.Contacts,
                                    new ItemView(20))) {
        Contact contact = v as Contact;
        ContactGroup contactGroup = v as ContactGroup;

        //v.Load(); // Turns out you don't need to load for basic props.
        if (contact != null) {
            Console.WriteLine("Contact: {0} <{1}>",
                contact.DisplayName,
                contact.EmailAddresses[EmailAddressKey.EmailAddress1]);
        } else if (contactGroup != null) {
            Console.WriteLine("Contact Group: {0}", contactGroup.DisplayName);
            switch (svc.RequestedServerVersion) {
                case ExchangeVersion.Exchange2007_SP1:
                    ExpandGroupResults groupResults
                        = svc.ExpandGroup((contactGroup.Id));
                    foreach (var member in groupResults) {
                        Console.WriteLine("+ {0} <{1}>",
                            member.Name, member.Address);
                    }
                    break;
                case ExchangeVersion.Exchange2010:
                    foreach (GroupMember member in contactGroup.Members) {
                        Console.WriteLine("+ {0} <{1}>",
                        member.AddressInformation.Name,
                        member.AddressInformation.Address);
                    }
                    break;
                default:
                    Console.WriteLine(
                        "** Unknown Server Version: {0}",
                        svc.RequestedServerVersion);
                    break;
            }
        } else {
            Console.WriteLine("Unknown contact type: {0} - {1}",
                contact.GetType(), v.Subject);
        }
    }
}

Я решил создать службу для многословия, ознакомьтесь с API веб-служб Exchange для получения дополнительной информации.

12
ответ дан 1 December 2019 в 14:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: