Получить информацию профиля контакта из пакета Office Communicator (OCS) в C #? - PullRequest
1 голос
/ 10 июля 2009

Моя компания использует MS Office Communicator Server (OCS) 2007 R2, и я получаю доступ к C # с помощью SDK.

Если я щелкну правой кнопкой мыши контакт в OCS, я получу опцию «Просмотреть карточку контакта». Я хочу получить доступ к этому через API!

К сожалению, я ничего не могу найти в документации SDK, чтобы понять это. Существует метод под названием ViewProfile, который не поддерживается, и я ничего не могу найти по этому поводу.

Конечно, я мог бы перейти непосредственно к учетной записи Active Directory контакта, но для этого потребовалось бы, чтобы мой компьютер подключился к организации через VPN. Поскольку большинство из нас работают в автономном режиме, я бы предпочел не делать этого. (В любом случае мне нужны данные в OCS!)

Заранее спасибо, Андрей

1 Ответ

0 голосов
/ 29 апреля 2010

Если вы подписаны на обновления присутствия целевого пользователя, вы можете получить эту информацию, используя тип протокола присутствия contactCard ...

// Event handler to process remote target's presence notifications
void RemotePresence_PresenceNotificationReceived(object sender, RemotePresenceNotificationEventArgs e)
{
    // Notifications contain all the notifications for one user.
    foreach (RemotePresentityNotificationData notification in e.Notifications)
    {
        // Each user will send a list of updated categories. We will choose the ones we're interested in and process them.
        foreach (PresenceCategoryWithMetaData category in notification.Categories)
        {
            if (category.Name.Equals("contactCard"))
            {
                //get the xml data
                string rawXml = category.CreateInnerDataXml();
                if (rawXml == null || rawXml.Trim().Length == 0)
                {
                    break;
                }

                StringReader reader = new StringReader(rawXml);
                XmlDocument metadataDocument = new XmlDocument();
                metadataDocument.Load(reader);
                // Traverse the xml to get the phone numbers
            }
        }
    }
}

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

http://blogs.claritycon.com/blogs/michael_greenlee/archive/2009/03/10/subscribe-to-presence-in-ucma-v2-0.aspx (Dead)

http://blog.greenl.ee/2009/03/11/subscribing-to-presence-in-ucma-2-0/ (Живой)

...