6

IM プレゼンス情報を会社の Silverlight アプリケーションの 1 つにコーディングしています。これまでのところ、私が見つけた唯一の解決策は CodePlex (Silverlight.OCS) の解決策です。「大丈夫」ですが、非常に古いです。

Lync SDK を使用すると、Silverlight 内のプレゼンス情報を非常に簡単に取得できます。残念ながら、私たちのネットワークのユーザーの 99% はまだ OFFice Communicator (R2) を使用しているため、すぐに使用できる Lync メソッド (controls:PresenceIndicator... in xaml) を使用することはできません。

では、Lync SDK に Office Communicator と通信する方法が含まれているかどうか知りたいですか?

もしそうなら、どうすれば a) 実行中のクライアントを確認し、b) そのクライアントに接続できますか (Lync か Communicator か)。どんな助けでも大歓迎です!最後になりましたが、可能であれば C# コードを探しています。ありがとう!

4

1 に答える 1

2

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値の 1 つを含むプロパティStatusを定義します。

于 2012-06-22T10:56:26.787 に答える