Trabajar con perfiles de usuario en SharePoint
Obtenga información sobre tareas de programación comunes para trabajar con perfiles de usuario en SharePoint.
API para trabajar con perfiles de usuario en SharePoint
Los perfiles de usuario y las propiedades de perfiles de usuario proporcionan información sobre los usuarios de SharePoint. SharePoint proporciona las siguientes API que puede usar para trabajar mediante programación con perfiles de usuario:
Modelos de objetos de cliente para código administrado
El modelo de objetos de cliente de .NET
Modelo de objetos de cliente de Silverlight
Modelo de objetos de cliente móvil
Modelo de objetos JavaScript
Servicio Transferencia de estado representacional (REST)
Modelo de objetos de servidor
Como práctica recomendada para el desarrollo de SharePoint, use API de cliente siempre que pueda. Las API de cliente incluyen el modelo de objetos de cliente de .NET, el modelo de objetos de JavaScript y el servicio REST. Para obtener más información sobre las API en SharePoint y cuándo usarlas, vea Elegir el conjunto de API adecuado en SharePoint.
Nota:
No todas las funcionalidades que encuentre en el ensamblado Microsoft.Office.Server.UserProfiles están disponibles de clientes API. Por ejemplo, debe usar el modelo de objetos del servidor para crear o cambiar perfiles de usuario porque son de solo lectura desde la API cliente (excepto la imagen del perfil de usuario). Además, no existe en el lado cliente acceso a algunos espacios de nombres, como Microsoft.Office.Server.Audience, Microsoft.Office.Server.ReputationModel o Microsoft.Office.Server.SocialData. Para ver qué funcionalidad es compatible con las API clientes, consulte Microsoft.SharePoint.Client.Social y Microsoft.SharePoint.Client.UserProfiles.
Cada API incluye un objeto de administrador que se usa para realizar tareas principales relacionadas con el perfil. En la tabla 1 se muestra el administrador y otros objetos fundamentales (o recursos REST) en las API y la biblioteca de clases (o punto de acceso) en las que se pueden encontrar.
Nota:
[!NOTA] Los modelos de objetos de cliente de Silverlight y de cliente móvil no están incluidos en la tabla 1 ni la 2 porque ofrecen la misma funcionalidad principal que el modelo de objetos de cliente de .NET y usan las mismas firmas. El modelo de objetos de cliente de Silverlight se define en Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll y el modelo de objetos de cliente móvil en Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tabla 1. API de SharePoint usadas para trabajar con perfiles de usuario mediante programación
Tareas de programación comunes para trabajar con perfiles de usuario en SharePoint
En la tabla 2 se muestran las tareas de programación comunes para trabajar con perfiles de usuario y los miembros que se usan para realizarlas. Los miembros pertenecen al modelo de objetos de cliente de .NET (CSOM), el modelo de objetos de JavaScript (JSOM), el servicio REST y el modelo de objetos de servidor (SSOM).
Tabla 2. API de tareas de programación comunes para trabajar con perfiles de usuario
Tarea | Miembros |
---|---|
Crear una instancia de un objeto de administrador en el contexto del usuario actual | CSOM: PeopleManager JSOM: PeopleManager REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager SSOM: UserProfileManager (sobrecargado) o PeopleManager |
Cambiar la imagen del perfil del usuario actual | CSOM: SetMyProfilePicture JSOM: setMyProfilePicture REST: POST http://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture y pasar el parámetro picture en el cuerpo de la solicitudSSOM: UserProfile [PropertyConstants.PictureUrl]. Value o SetMyProfilePicture |
Obtener las propiedades del usuario actual | CSOM: GetMyProperties JSOM: getMyProperties REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (u obtener algunas propiedades de usuario básicas de /_api/social.feed/my o /_api/social.following/my )SSOM: GetUserProfile |
Obtener las propiedades de un usuario concreto | CSOM: GetPropertiesFor JSOM: getPropertiesFor REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\\user' SSOM: GetUserProfile (sobrecargado) o GetPropertiesFor |
Obtener las propiedades de perfil de usuario de un usuario concreto | CSOM: GetUserProfilePropertiesFor JSOM: getUserProfilePropertiesFor REST: no implementado. Llamar a GetPropertiesFor y luego obtener las propiedades de perfil de usuario de la propiedad UserProfileProperties del objeto PersonProperties devuelto. SSOM: GetEnumerator |
Obtener una propiedad de perfil de usuario concreta de un usuario | CSOM: GetUserProfilePropertyFor JSOM: getUserProfilePropertyFor REST: GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='PreferredName')?@v='domain\\user' SSOM: UserProfile (sobrecargado) y especifique el nombre de la propiedad en el indexador. |
Obtener un perfil de usuario | CSOM: GetUserProfile (devuelve el perfil de usuario del lado cliente solo para el usuario actual) JSOM: getUserProfile (devuelve el perfil de usuario de cliente del usuario actual únicamente) REST: POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile (devuelve el perfil de usuario del lado cliente del usuario actual únicamente)SSOM: GetUserProfile (sobrecargado) |
Descubrir si una cuenta de usuario existe | CSOM: no implementado JSOM: no implementado REST: no implementado SSOM: UserExists |
Crear o cambiar perfiles de usuario y propiedades y atributos de perfil de usuario (Las API de cliente pueden cambiar la imagen del perfil. Consulte la tarea "Cambiar la imagen del perfil del usuario" en esta tabla.) |
CSOM: no implementado JSOM: no implementado REST: no implementado SSOM: varios??? vea How to: Work with user profiles and organization profiles by using the server object model in SharePoint (Cómo: Trabajar con perfiles de usuario y perfiles de organización mediante el modelo de objetos de servidor en SharePoint) |
Eliminación de un perfil de usuario | CSOM: no implementado JSOM: no implementado REST: no implementado SSOM: RemoveProfile o RemoveUserProfile (sobrecargados) |
Aprovisionar un sitio personal de un usuario | CSOM: CreatePersonalSiteEnque (sobrecargado) JSOM: createPersonalSiteEnque (sobrecargado) REST: POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue SSOM: CreatePersonalSite() (sobrecargado) |
Aprovisionar sitios personales de uno o varios usuarios Disponible para administradores de host de Mi sitio en SharePoint Online únicamente |
CSOM: CreatePersonalSiteEnqueueBulk JSOM: createPersonalSiteEnqueueBulk REST: POST https://<domain>-admin.sharepoint.com/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/CreatePersonalSiteEnqueueBulk y pasar una matriz de cadena de direcciones de correo electrónico para el parámetro emailIDs (200 caracteres máximo) en el cuerpo de la solicitud (ejemplo: {'emailIDs':['usera@contoso.onmicrosoft.com','userb@contoso.onmicrosoft.com']} ). SSOM: CreatePersonalSiteEnqueueBulk |
Nuevos objetos para usuarios y propiedades de usuario en SharePoint
SharePoint incluye los siguientes objetos nuevos que representan usuarios y propiedades de usuario:
El objeto SocialActor y el objeto SocialActorInfo representan a los usuarios (documentos, sitios y tareas) para las actividades de fuente y seguimiento.
Un nuevo objeto UserProfile del lado cliente que proporciona métodos que puede usar para crear un sitio personal para el usuario actual. Sin embargo, no contiene todas las propiedades de usuario que contiene el objeto del servidor UserProfile .
El objeto PersonProperties contiene propiedades de usuario generales y su propiedad UserProfileProperties contiene propiedades de perfil de usuario. PersonProperties es la API principal para obtener acceso a propiedades de usuario del código de cliente.
Nota:
Las versiones del modelo de objetos de servidor son el objeto SPSocialActor y el objeto PersonProperties .