我是否可以使用 Lync API Microsoft与 Communicator 2007/2007 R2 通信
本文关键字:2007 Communicator R2 通信 Microsoft 可以使 是否 Lync API | 更新日期: 2023-09-27 18:34:51
我正在将IM Presence信息编码到我公司的一个silverlight应用程序中。到目前为止,我找到的唯一解决方案是CodePlex(Silverlight.OCS(上的一个。这是"好的",但它非常过时。
Lync SDK 使在 silverlight 中获取状态信息变得非常容易。不幸的是,我们网络上99%的用户仍在使用OFfice Communicator(R2(,因此使用开箱即用的Lync方法(控件:PresenceIndicator...在 XAML 中(无法工作。
所以,我很好奇 Lync SDK 是否包含与 Office Communicator 通信的方法?
如果是这样,我将如何 a( 检查正在运行的客户端,然后 b( 连接到该客户端 - 无论是 Lync 还是 Communicator。任何帮助都非常感谢!最后但并非最不重要的一点是 - 如果可能的话,我正在寻找 C# 代码。谢谢!
您不能对 Office Communicator 使用 Lync 2010 SDK,只能对 Lync 2010 使用。
SDK的前身是Office Communicator Automation API(OCAA(。它是一个基于 COM 的 API,将针对 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 接口定义一个属性状态,其中包含多个 MISTATUS 值之一。