Могу ли я использовать Microsoft Lync API для связи с Communicator 2007/2007 R2?
Я кодирую информацию IM-присутствия в одно из приложений моей компании Silverlight. Пока что единственное решение, которое я нашел, это решение на CodePlex (Silverlight.OCS). Это "хорошо", но очень устарело.
Lync SDK позволяет получить информацию о присутствии в Silverlight. К сожалению, 99% пользователей в нашей сети все еще используют OFfice Communicator (R2), поэтому использование готового метода Lync (controls:PresenceIndicator... in xaml) не может работать.
Итак, мне любопытно, содержит ли Lync SDK способ связи с Office Communicator?
Если да, то как бы я а) проверил, какой клиент запущен, а затем б) подключился к этому клиенту - будь то Lync или Communicator. Любая помощь очень ценится! Последнее, но не менее важное - я ищу код C#, если это вообще возможно. Спасибо!
1 ответ
Вы не можете использовать Lync 2010 SDK против Office Communicator, только Lync 2010.
Предыдущее воплощение SDK - API автоматизации Office Communicator (OCAA). Это API на основе COM, и он будет работать против Communication 2007 и 2007 R2. Это все еще поддерживается... пока!
Вы можете скачать API здесь. Целевая страница MSDN находится здесь.
Что касается получения информации о присутствии... ну, надеюсь, это может помочь вам (с оговоркой, что я слишком молод, чтобы выполнять какую-либо работу с OCS API;)
private IMessengerContact FindContact(string userID)
{
IMessengerContact contact = null;
// Try the local contact list first
try
{
contact = (IMessengerContact)communicator.GetContact(userID, "");
}
catch
{
contact = null;
}
// For a nonlocal contact, try the SIP Provider of Communicator
if (contact == null || contact.Status == MISTATUS.MISTATUS_UNKNOWN)
{
try
{
contact =
(IMessengerContact)communicator.GetContact(userID,
communicator.MyServiceId);
return contact;
}
catch
{
contact = null;
return contact;
}
}
else
{
return contact;
}
}
Возврат статуса контакта:
Интерфейс IMessengerContact определяет свойство Status, которое содержит одно из нескольких значений MISTATUS.