2012-05-19 10 views
5

मैं अपनी कंपनियों में से एक में चांदी की रोशनी अनुप्रयोगों में आईएम उपस्थिति जानकारी कोडिंग कर रहा हूं। अब तक, मुझे मिला एकमात्र समाधान कोडप्लेक्स (सिल्वरलाइट.ओसीएस) पर है। यह "ठीक है", लेकिन यह बेहद दिनांकित है।क्या मैं Communicator 2007/2007 R2 के साथ संवाद करने के लिए Microsoft Lync API का उपयोग कर सकता हूं?

Lync एसडीके इसे चांदी की रोशनी के अंदर उपस्थिति जानकारी प्राप्त करने के लिए अप्रिय रूप से आसान बनाता है। दुर्भाग्यवश, हमारे नेटवर्क पर 99% उपयोगकर्ता अभी भी ऑफ़िस कम्युनिकेटर (आर 2) पर हैं, इसलिए आउट-ऑफ-द-बॉक्स Lync विधि (नियंत्रण: उपस्थिति इंडिकेटर ... xaml में) का उपयोग नहीं कर सकते हैं।

तो, मुझे उत्सुकता है कि क्या Lync SDK में Office Communicator के साथ संवाद करने का कोई तरीका है?

यदि हां, तो मैं कैसे करूं) जांचें कि क्लाइंट क्या चल रहा है और फिर बी) उस क्लाइंट से कनेक्ट करें - चाहे वह Lync या Communicator हो। किसी भी प्रकार के मदद की बहुत सराहना की जाएगी! अंतिम लेकिन कम से कम नहीं - यदि संभव हो तो मैं सी # कोड की तलाश में हूं। धन्यवाद!

+0

['NameCtrl'] (http://msdn.microsoft.com/en-us/library/ms455335) ActiveX नियंत्रण पर एक नज़र डालें। आप इससे उपस्थित हो सकते हैं। –

उत्तर

2

आप Office कम्युनिकेटर, केवल Lync 2010

एसडीके के पिछले अवतार कार्यालय कम्युनिकेटर स्वचालन एपीआई (OCAA) है के खिलाफ Lync 2010 SDK का उपयोग नहीं कर सकते। यह एक COM- आधारित एपीआई है, और संचार 2007 और 2007 आर 2 के खिलाफ काम करेगा। यह अभी भी समर्थित है ... अभी के लिए!

आप एपीआई here डाउनलोड कर सकते हैं। एमएसडीएन लैंडिंग पृष्ठ here है।

हो रही उपस्थिति जानकारी ... ठीक है, उम्मीद है कि यह आपकी मदद कर सकते का सवाल है (अस्वीकरण नहीं है कि मैं भी युवा किसी भी OCS एपीआई काम किया है करने के लिए कर रहा हूँ के साथ;)

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 इंटरफ़ेस एक संपत्ति Status, जो MISTATUS मूल्यों के एक नंबर से एक होता है परिभाषित करता है।

संबंधित मुद्दे

 संबंधित मुद्दे