簡體   English   中英

無法通過電子郵件從Sharepoint獲取用戶

[英]Unable to get user by email from Sharepoint

我正在嘗試通過他的電子郵件ID訪問該用戶。 但是,即使我能夠使用該電子郵件ID登錄到Office 365門戶,也無法找到用戶例外。 這是代碼片段:

//Creating Context
Uri webFullUrl = new Uri(URL);
string username = UserName;
string password = Password;
SecureString secureString = new SecureString();
for (int i = 0; i < password.Length; i++)
{
  char c = password[i];
  secureString.AppendChar(c);
}
SharePointOnlineCredentials credentials = new SharePointOnlineCredentials(username, secureString);
ClientContext clientContext = new ClientContext(webFullUrl)
        {
          Credentials = credentials
        };
User user = clientContext.Web.SiteUsers.GetByEmail(email);
clientContext.ExecuteQuery();

執行最后一行時,出現異常User not found 有人對如何從電子郵件中獲取用戶有任何想法嗎? 我只有用戶的電子郵件ID。

我找到了解決方案,它是一個兩步過程,盡管我無法確定這是否正確。 我的代碼如下:

public User GetUserByEmail(ClientContext clientContext, string email)
{
 try
   {
     ClientResult<Microsoft.SharePoint.Client.Utilities.PrincipalInfo> persons =
     Microsoft.SharePoint.Client.Utilities.Utility.ResolvePrincipal(clientContext,                         clientContext.Web, email,
     Microsoft.SharePoint.Client.Utilities.PrincipalType.User,Microsoft.SharePoint.Client.Utilities.PrincipalSource.All, null, true);
     clientContext.ExecuteQuery();
     Microsoft.SharePoint.Client.Utilities.PrincipalInfo person = persons.Value;
     User user = clientContext.Web.SiteUsers.GetByLoginName(person.LoginName);
     clientContext.ExecuteQuery();
     return user;
   }
   catch
   {
     return null;
   }

}

我從Here給出的摘錄中得到了幫助。

暫無
暫無

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

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