這個property 在MSDN 裡面並沒有詳細的介紹(請參見 http://msdn2.microsoft.com/en-us/library/microsoft.rtc.signaling.signalingsession.remoteparticipant.aspx),研究了一下,我在這裡分享幾個比較有趣的property 內容:
- ContactUri(string): Retern 一串我看不出來是什麼的東西,不像LDAP 路徑,類似於:_sip:administrator@msft.com;opaque=user:epid:TJQrEP0QnFW8hA9PhB94qAAA;gruu;另一個屬性Gruu 也傳回相同的值。
- EndpointId(string): Return 一個類似於這樣的ID: 1ca51363bd,這應該是對方EndPoint 在OCS 裡註冊的ID。
- Name(string): Return 對方使用者在OCS 中的顯示名稱,例如: Administrator。
- Uri(string): Return 對方的sip uri,它的結果會類似這樣"_sip:administrator@msft.com",值得注意的是前面有"_sip:"。
- UriAtHost(string): 在AD 中,這可以回傳對方使用者的UPN,傳回訊息類似於: administrator@msft.com。
我覺得比較值得注意的是Name 和UriAtHost ,這樣我們在對話中就可以知道對方來者何人了。好啦,老實說我覺得這一點都不有趣。
讀者回應 ( 6 意見 )
訂閱張貼留言 (Atom)
To Chming:
抱歉,拖了好幾天,不知道你try出來了沒
在UCMA 裡面應該是不行撈出住址電話等資料啦~不過可以得到類似UPN的使用者資料
用UPN再另外寫程式撈資料應該很容易,就像一般的AD Programming 一樣吧~我目前也是打算這樣做 :-)
但密碼是絕對不可能撈到的(因為密碼使用3DES加密儲存,理論上是不可逆的)
To Function,
了解,不過我這幾天測了一下AD,我開發程式電腦好像加入網域後,還要登入此網域再執行程式才能抓到AD資料,如果我沒有登入此網域(登入本機電腦)就抓不到AD資料。如果是這樣,那想寫成service的方式,電腦不login,不就抓不到資料? 不知這是否是AD的限制? 謝謝!
To Function,
突然想到一個問題,就是OCS client(Communicator)登入後,在"轉接電話至"的功能中,可以看到列出了我的手機/公司/住家的電話,可是這時候我電腦沒有登入此網域,所以ocs應該還是可以透過ocs的機制取得電話的資料,只是不知API是否有提供...
To: Function,
哈哈!剛剛又測試了一下,終於可以把AD的個人資料抓出來了,也不用登入到相同的網域。
我將http://www.codeproject.com/KB/system/getuserfrmactdircsharp.aspx 的sample加上網域登入的帳號與密碼即可。並列出想要的user即可,如下:
DirectoryEntry entry = new DirectoryEntry("LDAP://domain", "user", "passwrod");
DirectorySearcher dSearch = new DirectorySearcher(entry);
String Name="user1";
dSearch.Filter = "(&(objectClass=user)(CN=" + Name + "))";
不過這方式也許你已經知道了,想說還有別人會看,post出來也許可以幫到別人。謝謝!
To Chming:
謝謝你的自問自答!! 我相信很多人會感謝你:-)
其實這就像我說的AD 程式設計吧,透過LDAP 協定查詢AD 資料,只要將管理員權限送入驗證便能從AD 撈資料。我大二的時候還用PHP 實做過,但後來就沒有繼續玩了
順帶一提,我現在想把UCMA Bot 寫成Console 模式,可惜好像沒辦法用while() 卡住程式:S (如果我有寫出來我會再分享的~哈)
因為我不小心把好友的google定位給刪除了,請教該如何恢復???
謝謝~
張貼留言
如果沒有帳戶,建議使用「名稱/網址」留言喔^^