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

API Objeto clave
El modelo de objetos de cliente de .NET
Vea: Cómo: Recuperar propiedades de perfil de usuario mediante el modelo de objetos de cliente .NET en SharePoint
Objeto de administrador: PeopleManager
Espacio de nombres principal: Microsoft.SharePoint.Client.UserProfiles
Otros objetos clave: PersonProperties , ProfileLoader , UserProfile
Biblioteca de clases: Microsoft.SharePoint.Client.UserProfiles.dll
Modelo de objetos JavaScript
Vea: Cómo: Recuperar propiedades de perfil de usuario mediante el modelo de objetos de JavaScript en SharePoint
Objeto de administrador: PeopleManager
Espacio de nombres principal: SP. UserProfiles
Otros objetos clave: PersonProperties, ProfileLoader, UserProfile
Biblioteca de clases: SP.UserProfiles.js
Servicio REST
Consulte: Referencia de la API REST de perfiles de usuario
Recurso del administrador: PeopleManager
URI del punto de conexión: http://<siteUri>/_api/SP.UserProfiles.PeopleManager
Espacio de nombres principal: SP. UserProfiles
Otros recursos clave: PersonProperties, ProfileLoader, UserProfile
Modelo de objetos de servidor
Vea: Cómo: Trabajar con perfiles de usuario y perfiles de organización mediante el modelo de objetos de servidor en SharePoint
Objetos de administrador: UserProfileManager , PeopleManager
Espacio de nombres principal: Microsoft.Office.Server.UserProfiles
Otros objetos clave: UserProfile , CorePropertyManager , ProfilePropertyManager , ProfileSubtypeManager , ProfileSubtypePropertyManager , ProfileTypePropertyManager
Biblioteca de clases: Microsoft.Office.Server.UserProfiles.dll

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: GEThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager
SSOM: UserProfileManager (sobrecargado) o PeopleManager
Cambiar la imagen del perfil del usuario actual CSOM: SetMyProfilePicture
JSOM: setMyProfilePicture
REST: POSThttp://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture y pasar el parámetro picture en el cuerpo de la solicitud
SSOM: UserProfile [PropertyConstants.PictureUrl]. Value o SetMyProfilePicture
Obtener las propiedades del usuario actual CSOM: GetMyProperties
JSOM: getMyProperties
REST: GEThttp://<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: GEThttp://<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: GEThttp://<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: POSThttp://<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: POSThttp://<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: POSThttps://<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 .

Vea también