簡體   English   中英

如何使用Lync SDK通過電子郵件確定是否存在有效的Lync用戶?

[英]How to determine if there is a valid Lync user by email using Lync SDK?

給定一個電子郵件地址,我試圖確定它是否是有效用戶的登錄地址。

我已經嘗試過下面的代碼,但只有在用戶之前由Lync客戶端查詢過用戶才會生效,否則用戶將被識別為“未知”。

using Microsoft.Lync.Model;
using Microsoft.Lync.Model.Extensibility;

private bool IsLyncUser(string eMail, out Microsoft.Lync.Model.Contact imContact)
{
    var lyncClient = LyncClient.GetClient();
    imContact = lyncClient.ContactManager.GetContactByUri(eMail);

    if (null != imContact)
    {
        try
        {
            var sourceType = (ContactSourceTypes)imContact.Settings[ContactSetting.Source];
            return (ContactSourceTypes)0 != (ContactSourceTypes.ExchangeService | ContactSourceTypes.GlobalAddressList | sourceType);
        }
        catch
        {
            imContact = null;
        }
    }
    return false;
}

問題:

  1. 為什么僅在通過Lync Client GUI查詢用戶時才加載數據?
  2. 如何“獲取”數據,以便在查詢時可用?
  3. 有沒有更好的方法來查詢電子郵件是否屬於有效的Lync用戶?

我看到這個工作正常。 也就是說:使用lyncClient.ContactManager.GetContactByUri()對我來說很好,即使被查詢的地址不在客戶端的聯系人列表中(並且尚未被查詢)。

我正在做的事情之一也是訂閱狀態變化。 我想知道這是不是為什么它對我有用:查找非加載聯系人需要一段時間,因此可能是我的代碼最初返回Unknown,然后在事件中更新。

還要檢查一下:您確保您的電子郵件地址是SIP加前綴的嗎? (即格式為sip:user@domain.com)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM