我正在将IM Presence信息编码到我的公司silverlight应用程序之一中。到目前为止,我发现的唯一解决方案是在CodePlex(Silverlight.OCS)上实现的。没关系,但是过时了。

Lync SDK使在Silverlight中获取状态信息变得异常容易。不幸的是,我们网络上99%的用户仍在OFfice Communicator(R2)上,因此不能使用开箱即用的Lync方法(xaml中的controls:PresenceIndicator ...)。

因此,我很好奇Lync SDK是否包含一种与Office Communicator进行通信的方式?

如果是这样,我将如何a)检查正在运行的客户端,然后b)连接到该客户端-是Lync还是Communicator。很感谢任何形式的帮助!最后但并非最不重要的一点-我正在寻找C#代码(如果可能)。谢谢!

最佳答案

您不能仅针对Lync 2010使用针对Office Communicator的Lync 2010 SDK。

SDK的前身是Office Communicator Automation API(OCAA)。这是一个基于COM的API,可与Communication 2007和2007 R2配合使用。目前仍受支持...!

您可以下载API here。 MSDN登陆页面是here

至于获得状态信息...好吧,希望对您有所帮助(免责声明我还太年轻,无法完成任何OCS API工作;)

Getting a contact record:

    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接口(interface)定义属性Status,该属性包含许多MISTATUS值之一。

关于c# - 我可以使用Microsoft Lync API与Communicator 2007/2007 R2进行通信吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10662661/

10-12 00:35