Podemos obtener un usuario de SharePoint con el metodo EnsureUser. Caso práctico: Obtener usuario para crear un nuevo item en una lista donde uno de los campos a rellenar es del tipo User.
Dentro del contexto de SharePoint podemos obtenerlo de este modo:
Web mySite = clientContext.Site.OpenWeb("mySiteUrl");
clientContext.Load(mySite);
clientContext.ExecuteQuery();
User myUser= pocSite.EnsureUser("i:0#.f|membership|myUser@myDomain.com");
clientContext.Load(myUser);
clientContext.ExecuteQuery();
Ejemplo completo:
string siteUrl = "https://mytenant.sharepoint.com/sites/mysite";
using (ClientContext clientContext = new ClientContext(siteUrl))
{
SecureString passWord = new SecureString();
foreach (char c in "myPassword".ToCharArray()) passWord.AppendChar(c);
clientContext.Credentials = new SharePointOnlineCredentials("myMail@myDomain.com", passWord);
Web mySite = clientContext.Site.OpenWeb("mySiteUrl");
clientContext.Load(mySite);
clientContext.ExecuteQuery();
User myUser= pocSite.EnsureUser("i:0#.f|membership|myUser@myDomain.com");
clientContext.Load(myUser);
clientContext.ExecuteQuery();
}