Referencia sobre la API de REST de perfiles de usuario

Obtenga información sobre PeopleManager, ProfileLoader, UserProfile y otros recursos de los perfiles de usuario y los extremos de la API de REST.

Última modificación: lunes, 9 de marzo de 2015

Hace referencia a: apps for SharePoint | SharePoint Online | SharePoint Server 2013

Acerca de los ejemplos de solicitudes de este artículo

En los ejemplos de este artículo se usan solicitudes jQuery AJAX. Antes de usar los ejemplos, haga lo siguiente:

  • Cambie los datos de <url de sitio> y otros marcadores de posición, como identificadores, nombres o rutas de acceso de entidades de SharePoint.

  • Si está usando OAuth, agregue un encabezado Authorization ("Authorization": "Bearer " + <access token>) para enviar el token de acceso OAuth.

  • Quite los saltos de línea de los valores de propiedad url y data en los ejemplos de solicitud. Los saltos de línea se han agregado para facilitar la lectura.

  • Si quiere que el servidor devuelva respuestas en formato Atom, quite el encabezado "accept": "application/json;odata=verbose".

Consulte Cómo difieren las solicitudes REST por entorno si quiere más información sobre el cambio de solicitudes. Vea Recursos adicionales si quiere más información sobre el uso de la biblioteca entre dominios, OAuth y el servicio REST de SharePoint.

Sugerencia

El servicio REST de SharePoint Online admite la combinación de varias solicitudes en una sola llamada al servicio mediante el uso de la opción de consulta $batch de OData. Para obtener información detallada y vínculos a los ejemplos de código, vea Realizar solicitudes de lote con las API de REST. Esta opción aún no está disponible para la implementación de SharePoint local.

Recurso PeopleManager

URI del extremo  |  Propiedades  |  Métodos  |  Representación OData

Proporciona métodos para las operaciones relacionadas con las personas.

La API SocialRestFollowingManager se recomienda para las tareas Following People y Following Content, pero PeopleManager ofrece algunas funciones que SocialRestFollowingManager no tiene.

URI del extremo

http://<url del sitio>/_api/sp.userprofiles.peoplemanager

Métodos HTTP compatibles

GET  |  POST

Ejemplo de solicitud

Ejemplo de una solicitud GET: obtener la instancia actual de PeopleManager

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Propiedades de PeopleManager

Para obtener una propiedad, envíe una solicitud GET al extremo de la propiedad, tal como se ve en el siguiente ejemplo.

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager/<property name>",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Propiedad

Tipo

L/E

Devuelta con recurso

Descripción

EditProfileLink

String

L

La dirección URL de la página Editar perfil para el usuario actual.

IsMyPeopleListPublic

Boolean

L

Un valor Boolean que indica si la lista Personas que sigo del usuario actual es pública.

Métodos de PeopleManager

AmIFollowedBy
AmIFollowing
Follow
FollowTag
GetFollowedTags
GetFollowersFor
GetMyFollowers
GetMyProperties
GetMySuggestions
GetPeopleFollowedBy
GetPeopleFollowedByMe
GetPropertiesFor
GetTrendingTags
GetUserProfilePropertyFor
HideSuggestion
IsFollowing
SetMyProfilePicture
StopFollowing
StopFollowingTag

Método AmIFollowedBy

Comprueba si el usuario indicado sigue al usuario actual.

Extremo

/amifollowedby(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: Boolean
true si el usuario especificado sigue al usuario actual; si no, es false.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /amifollowedby(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método AmIFollowing

Comprueba si el usuario actual sigue al usuario indicado.

Extremo

/amifollowing(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: Boolean
true si el usuario actual sigue al usuario especificado; si no, es false.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /amifollowing(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método Follow

Agrega el usuario especificado a la lista de usuarios seguidos del usuario actual.

La API que se recomienda usar para esta tarea es social.following/follow.

Extremo

/follow(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /follow(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método FollowTag

Agrega la etiqueta especificada a la lista de etiquetas seguidas del usuario actual.

La API que se recomienda usar para esta tarea es social.following/follow.

Extremo

/followtag('<id. de etiqueta>')

Parámetros

Tipo: GUID
Identificador de la etiqueta que se quiere empezar a seguir. No se puede consultar el identificador de la etiqueta usando REST, pero se puede obtener el identificador de etiqueta usando el modelo de objetos de JavaScript o el modelo de objetos de cliente .NET. O si la etiqueta es una etiqueta popular, puede llamar al método GetTrendingTags y obtener el identificador de etiqueta a partir del nombre HashTag.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /followtag('3e324ad0-de47-4c0a-b9c6-59fda8419430')",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método GetFollowedTags

Obtiene las etiquetas que el usuario sigue.

Extremo

/getfollowedtags(<número máximo>)

Parámetros

Tipo: Int32
El número máximo de etiquetas que se van a obtener.

HTTP method

GET

Respuesta

Tipo: Collection(String)
Las etiquetas que el usuario sigue hasta que el número especificado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getfollowedtags(5)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetFollowersFor

Obtiene las personas que siguen al usuario especificado.

Extremo

/getfollowersfor(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: Collection(SP.UserProfiles.PersonProperties)
Las personas que siguen al usuario especificado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getfollowersfor(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetMyFollowers

Obtiene las personas que siguen al usuario actual.

La API que se recomienda usar para esta tarea es social.following/getfollowers.

Extremo

/getmyfollowers

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: Collection(SP.UserProfiles.PersonProperties)
Las personas que siguen al usuario actual.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getmyfollowers",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetMyProperties

Obtiene las propiedades de usuario para el usuario actual.

Extremo

/getmyproperties

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: SP.UserProfiles.PersonProperties
Las propiedades de usuario para el usuario actual.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getmyproperties",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetMySuggestions

Obtiene sugerencias que puedan interesar al usuario actual para seguirlas.

La API que se recomienda usar para esta tarea es social.following/getsuggestions.

Extremo

/getmysuggestions

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: Collection(SP.UserProfiles.PersonProperties)
Usuarios que el usuario actual puede querer seguir.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getmysuggestions",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetPeopleFollowedBy

Obtiene las personas a las que sigue el usuario especificado.

Extremo

/getpeoplefollowedby(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: Collection(SP.UserProfiles.PersonProperties)
Las personas a las que sigue el usuario especificado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getpeoplefollowedby(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetPeopleFollowedByMe

Obtiene las personas a las que sigue el usuario actual.

La API que se recomienda usar para esta tarea es social.following/getfollowed.

Extremo

/getpeoplefollowedbyme

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: Collection(SP.UserProfiles.PersonProperties)
Las personas a las que sigue el usuario actual.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getpeoplefollowedbyme",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetPropertiesFor

Obtiene las propiedades de usuario para el usuario especificado.

Extremo

/getpropertiesfor(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: SP.UserProfiles.PersonProperties
Las propiedades de usuario para el usuario especificado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getpropertiesfor(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetTrendingTags

Obtiene las etiquetas más populares. Método estático.

Extremo

/sp.userprofiles.peoplemanager.gettrendingtags

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: SP.UserProfiles.HashTagCollection
Las 20 etiquetas hash más populares de la semana pasada ordenadas con la más popular en primer lugar.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/
    /sp.userprofiles.peoplemanager.gettrendingtags,
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetUserProfilePropertyFor

Obtiene la propiedad de perfil de usuario especificada para el usuario indicado.

El método GetUserProfilePropertiesFor no está implementado en la API de REST. Para obtener todas las propiedades de perfil de usuario, llame al método GetPropertiesFor y luego obtenga las propiedades de perfil de usuario a partir de la propiedad UserProfileProperties del objeto PersonProperties devuelto.

Extremo

/getuserprofilepropertyfor(accountname=@v, propertyname='<nombre de propiedad>')?@v='<nombre de cuenta>'

Parámetros

accountname

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

propertyName

Tipo: String
El nombre que distingue mayúsculas de minúsculas de la propiedad que se va a obtener.

HTTP method

GET

Respuesta

Tipo: String
La propiedad de perfil especificada para el usuario indicado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /getuserprofilepropertyfor(accountame=@v, propertyname='PictureURL')
        ?@v='i%3A0%23.f%7Cmembership%7Cuser%domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método HideSuggestion

Quita el usuario especificado de la lista sugerida de personas a seguir del usuario.

Extremo

/hidesuggestion(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /hidesuggestion(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%domain.onmicrosoft.com'",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método IsFollowing

Comprueba si el primer usuario sigue el segundo usuario. Método estático.

Extremo

/sp.userprofiles.peoplemanager.isfollowing(
  possiblefolloweraccountname=@v, possiblefolloweeaccountname=@y)
  ?@v='<nombre de cuenta>'&@y='<nombre de cuenta>'

Parámetros

possiblefolloweraccountname

Tipo: String
El nombre de la cuenta del usuario que puede estar siguiendo possiblefolloweeaccountname codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

possiblefolloweeaccountname

Tipo: String
El nombre de la cuenta del usuario que se puede estar siguiendo codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

GET

Respuesta

Tipo: Boolean
true si el primer usuario sigue al segundo usuario; si no, es false.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /sp.userprofiles.peoplemanager.isfollowing(possiblefolloweraccountname=@v,possiblefolloweeaccountname=@y)
      ?@v='i%3A0%23.f%7Cmembership%7Cuser1%40domain.onmicrosoft.com'
      &@y='i%3A0%23.f%7Cmembership%7Cuser2%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método SetMyProfilePicture

Sube y establece la imagen de perfil de usuario. Los usuarios pueden subir una imagen a su propio perfil.

Extremo

/setmyprofilepicture

Parámetros

Tipo: Stream
La imagen en formato BMP, JPEG o PNG de hasta 4,76 MB. Envíe este parámetro en el cuerpo de la solicitud.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /setmyprofilepicture",
  type: "POST",
  data: arrayBuffer,
  processData: false,
  headers: {
    "accept": "application/json;odata=verbose",
    "X-RequestDigest": $("#__REQUESTDIGEST").val(),
    "content-length": arrayBuffer.byteLength
 },
  success: successHandler,
  error: errorHandler
});

El siguiente ejemplo de código de JavaScript y jQuery representa el contenido de App.js de una aplicación hospeda en SharePoint. Aquí se supone que el usuario ha seleccionado un archivo local en un control de entrada de archivo en la página Default.aspx.

'use strict';

$(document).ready(function () {

    // Check to see if the browser supports the HTML5 FileReader API.
    if (!window.FileReader) {
        alert('This browser does not support the FileReader API.');
    }
});

function setProfilePicture() {

    // First get the file buffer and then send the request.
    var call = getFileBuffer();
    call.done(function (arrayBuffer) {
        setMyProfilePicture(arrayBuffer);
    });
    call.fail(function (error) {
        alert(error);
    });

    // Get the ArrayBuffer for the picture file.
    function getFileBuffer() {

        // Get the file from the file input control on the page.
        // Pictures can be BMP, JPG, or PNG format and up to 5 million bytes.
        var file = $('#profilePic')[0].files[0];

        var deferred = $.Deferred();
        var reader = new FileReader();
        reader.onloadend = function (e) {
            deferred.resolve(e.target.result);
        }
        reader.onerror = function (e) {
            deferred.reject(e.target.error);
        }
        reader.readAsArrayBuffer(file);
        return deferred.promise();
    }

    // Send the POST request.
    function setMyProfilePicture(arrayBuffer) { 

        // Get the site URL and construct the endpoint URI for the rest post.
        var absoluteUrl = _spPageContextInfo.webAbsoluteUrl;
        var setPictureEndpoint = absoluteUrl +
            "/_api/sp.userprofiles.peoplemanager/setmyprofilepicture";

        $.ajax({
            url: setPictureEndpoint,
            type: "POST",
            data: arrayBuffer,
            processData: false,
            headers: {
                "accept": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                "content-length": arrayBuffer.byteLength
            },
            success: function (data) {
                alert('SetMyProfilePicture succeeded.');
            },
            error: function (error) {
                alert(error.responseText);
            }
        });
    }
}

Método StopFollowing

Quita el usuario especificado de la lista de usuarios seguidos del usuario actual.

La API que se recomienda usar para esta tarea es social.following/stopfollowing.

Extremo

/stopfollowing(@v)?@v='<nombre de cuenta>'

Parámetros

Tipo: String
El nombre de la cuenta del usuario codificado y transmitido como alias en la cadena de consulta, como se muestra en el ejemplo de solicitud. Encontrará otros formatos de ejemplo en Notas de implementación.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /stopfollowing(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%domain.onmicrosoft.com'",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método StopFollowingTag

Quita la etiqueta especificada de la lista de etiquetas seguidas del usuario actual.

La API que se recomienda usar para esta tarea es social.following/stopfollowing.

Extremo

/stopfollowingtag('<id. de etiqueta>')

Parámetros

Tipo: GUID
El identificador de la etiqueta que se quiere dejar de seguir. No se puede obtener el identificador de la etiqueta usando REST, pero se puede obtener el identificador de etiqueta usando el modelo de objetos de JavaScript o el modelo de objetos de cliente .NET.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.peoplemanager
    /stopfollowingtag('3e324ad0-de47-4c0a-b9c6-59fda8419430')",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Representación OData

El siguiente ejemplo representa un recurso PeopleManager en formato JSON.

    {"d":{
      "__metadata":{,
        "id":"sp.userprofiles.peoplemanager",
        "uri":"http://<site url>/_api/sp.userprofiles.peoplemanager",
        "type":"SP.UserProfiles.PeopleManager"
      },
      "EditProfileLink":"https://domain-my.sharepoint.com:443/_layouts/15/EditProfile.aspx?UserSettingsProvider=dfb95e82%2D8132%2D404b%2Db693%2D25418fdac9b6&ReturnUrl=https%3A%2F%2Fdomain%2Esharepoint%2Ecom%2F%5Fapi%2Fsp%2Euserprofiles%2Epeoplemanager",
      "IsMyPeopleListPublic":false
    }}

Recursos ProfileLoader

URI del extremo  |  Métodos

Proporciona un punto de entrada alternativo a los perfiles de usuario en lugar de llamar a los métodos directamente.

URI del extremo

POST http://<url de sitio>/_api/sp.userprofiles.profileloader.getprofileloader

Métodos HTTP compatibles

POST

Métodos de ProfileLoader

CreatePersonalSiteEnqueueBulk
GetOwnerUserProfile
GetProfileLoader
GetUserProfile

Método CreatePersonalSiteEnqueueBulk

Aprovisiona los sitios personales de uno o varios usuarios (solo administrador de Mi sitio en SharePoint Online)

Extremo

/createpersonalsiteenqueuebulk

Esta solicitud debe enviarla un administrador de Mi sitio al sitio del Centro de administración de SharePoint Online, como se ve en el ejemplo de solicitud.

Parámetros

emailIDs

Tipo: Collection(String)
Las direcciones de correo de los usuarios a los que hay que aprovisionar los sitios. El máximo son 200 caracteres.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "https://<domain>-admin.sharepoint.com/_api/sp.userprofiles.profileloader.getprofileloader
    /createpersonalsiteenqueuebulk",
  type: "POST",
  data: "{ 'emailIDs': ['usera@domain.onmicrosoft.com', 'userb@domain.onmicrosoft.com'] }",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Método GetOwnerUserProfile

Obtiene el perfil de usuario del propietario del sitio. Método estático.

Extremo

/sp.userprofiles.profileloader.getowneruserprofile

Parámetros

Ninguna

HTTP method

POST

Respuesta

Tipo: SP.UserProfiles.UserProfile
El perfil de usuario del propietario del sitio.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /sp.userprofiles.profileloader.getowneruserprofile",
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Método GetProfileLoader

Obtiene un objeto ProfileLoader de la caché de contexto. Método estático.

Use este extremo para obtener acceso a los métodos CreatePersonalSiteEnqueueBulk y GetUserProfile.

Extremo

/sp.userprofiles.profileloader.getprofileloader

Parámetros

Ninguna

HTTP method

POST

Respuesta

Tipo: SP.UserProfiles.ProfileLoader
El objeto ProfileLoader de la caché de contexto.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /sp.userprofiles.profileloader.getprofileloader",
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Método GetUserProfile

Obtiene el perfil de usuario que corresponde al usuario actual. Método estático.

Extremo

/getuserprofile

Parámetros

Ninguna

HTTP method

POST

Respuesta

Tipo: SP.UserProfiles.UserProfile
El perfil de usuario del usuario actual.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/sp.userprofiles.profileloader.getprofileloader
    /getuserprofile
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Recurso UserProfile

URI del extremo  |  Propiedades  |  Métodos  |  Representación OData

Representa un perfil de usuario del lado cliente para una persona.

URI del extremo

POST http://<url de sitio>/_api/sp.userprofiles.profileloader.getprofileloader/getuserprofile

Métodos HTTP compatibles

POST

Ejemplos de solicitudes

Obtener el perfil de usuario del usuario actual

$.ajax({
  url: "http://<site url/_api/sp.userprofiles.profileloader.getprofileloader
    /getuserprofile",
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Propiedades de UserProfile

Para obtener una propiedad, envíe una solicitud POST al extremo de la propiedad, tal como se muestra en el siguiente ejemplo.

$.ajax({
  url: "http://<site url/_api/sp.userprofiles.profileloader.getprofileloader
    /getuserprofile/<property name>",
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Todas las solicitudes dirigidas al recurso UserProfile deben enviarse como solicitudes POST porque un perfil de usuario se recupera usando el recurso ProfileLoader.

Propiedad

Tipo

L/E

Devuelta con recurso

Descripción

FollowedContent

FollowedContent

L

No

Un objeto que contiene la FollowedDocumentsUrl y la FollowedSitesUrl del usuario.

AccountName

String

L

El nombre de la cuenta del usuario (solo SharePoint Online).

DisplayName

String

L

El nombre para mostrar del usuario (solo SharePoint Online).

O15FirstRunExperience

Int32

L

La marca FirstRun del usuario (solo SharePoint Online).

PersonalSite

SP.Site

L

No

El sitio personal del usuario.

PersonalSiteCapabilities

Int32

L

Las capacidades del sitio personal del usuario. Representa un valor PersonalSiteCapabilities bit a bit: Ninguno = 0; Valor de perfil = 1; Valor social = 2; Valor de almacenamiento = 4; Valor de MyTasksDashboard = 8; Valor de educación = 16; Valor de invitado = 32.

PersonalSiteFirstCreationError

String

L

El error producido cuando se creó por primera vez el sitio personal del usuario si existe (solo SharePoint Online).

PersonalSiteFirstCreationTime

DateTime

L

La fecha y la hora en que se creó el sitio personal del usuario por primera vez (solo SharePoint Online).

PersonalSiteInstantiationState

Int32

L

La condición del estado de la creación de instancias del sitio personal. Vaya a PersonalSiteInstantiationState en la referencia sobre el modelo de objetos de cliente .NET para ver la lista de los valores de estado de creación de instancias.

PersonalSiteLastCreationTime

DateTime

L

La fecha y la hora en que se creó el sitio personal del usuario por última vez (solo SharePoint Online).

PersonalSiteNumberOfRetries

Int32

L

El número de intentos realizados para crear el sitio personal del usuario (solo SharePoint Online).

PictureImportEnabled

Boolean

L

Un valor Boolean que indica si la imagen del usuario se ha importado de Exchange.

PublicUrl

String

L

La dirección URL pública del sitio personal del usuario actual (solo SharePoint Online).

UrlToCreatePersonalSite

String

L

La URL usada para crear el sitio personal del usuario.

Métodos UserProfile

CreatePersonalSiteEnque
ShareAllSocialData

Método CreatePersonalSiteEnque

Pone en cola la creación de un sitio personal para este usuario, que se puede usar para compartir documentos, páginas web y otros archivos.

Para el desarrollo de SharePoint Online, los administradores del host de Mi sitio también pueden usar el método CreatePersonalSiteEnqueueBulk para crear sitios personales para uno o varios usuarios.

Extremo

/createpersonalsiteenque

Parámetros

Tipo: Boolean
true si es una solicitud iniciada de forma interactiva (por web) o false si es una solicitud no iniciada de forma interactiva (por cliente).

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url/_api/sp.userprofiles.profileloader.getprofileloader
    /getuserprofile/createpersonalsiteenque(true)",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método ShareAllSocialData

Establece la configuración de privacidad para este perfil.

Extremo

/createpersonalsiteenque

Parámetros

Tipo: Boolean
true para hacer todos los datos sociales públicos; false para hacer todos los datos sociales privados.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url/_api/sp.userprofiles.profileloader.getprofileloader
    /getuserprofile/shareallsocialdata(true)",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Representación OData

El siguiente ejemplo representa un recurso UserProfile en formato JSON.

    {"d":{
      "__metadata":{,
        "id":"https://<site url>/_api/sp.userprofiles.profileloader.getprofileloader/getuserprofile",
        "uri":"https://<site url>/_api/sp.userprofiles.profileloader.getprofileloader/getuserprofile",
        "type":"SP.UserProfiles.UserProfile"
      },
      "FollowedContent":{"__deferred":{"uri":"https://<site url>/_api/sp.userprofiles.profileloader.getprofileloader/getuserprofile/FollowedContent"}},
      "PersonalSite":{"__deferred":{"uri":"https://<site url>/_api/sp.userprofiles.profileloader.getprofileloader/getuserprofile/PersonalSite"}},
      "AccountName":"i:0#.f|membership|user@domain.onmicrosoft.com",
      "DisplayName":"User Name",
      "O15FirstRunExperience":16,
      "PersonalSiteCapabilities":14,
      "PersonalSiteFirstCreationError":"Personal Site already exists.",
      "PersonalSiteFirstCreationTime":"2014-03-23T17:37:48",
      "PersonalSiteInstantiationState":2,
      "PersonalSiteLastCreationTime":"2014-03-23T17:38:34",
      "PersonalSiteNumberOfRetries":2,
      "PictureImportEnabled":true,
      "PublicUrl":"https://domain-my.sharepoint.com:443/Person.aspx?accountname=i%3A0%23%2Ef%7Cmembership%7Cuser%40domain%2Eonmicrosoft%2Ecom",
      "UrlToCreatePersonalSite":"https://domain-my.sharepoint.com/personal/user_domain_onmicrosoft_com/"
    }}

Recursos SP.UserProfiles devueltos en respuestas REST relacionadas con los perfiles de usuario

Los siguientes recursos REST del espacio de nombres SP.UserProfiles se devuelven en las respuestas del servidor para las solicitudes REST relacionadas con los perfiles de usuario.

HashTag

Representa una hashtag en la colección de etiquetas populares.

Propiedad

Tipo

Descripción

Nombre

String

Nombre interno de la hashtag. El nombre se construye con los componentes siguientes: el prefijo L0|#0 + el identificador de la etiqueta + el carácter | + el nombre de la etiqueta.
Ejemplo: L0|#03e324ad0-de47-4c0a-b9c6-59fda8419430|#tagname

UseCount

Int64

El número de veces que se usa la hashtag.

HashTagCollection

Representa una colección de hashtag en los mensajes de microblog. Esta colección la devuelve el método GetTrendingTags.

Propiedad

Tipo

Descripción

Items

Collection(SP.UserProfiles.HashTag)

Las hashtag que hay en la colección.

PersonProperties

Representa las propiedades de usuario.

Propiedad

Tipo

Descripción

AccountName

String

El nombre de la cuenta del usuario.

DirectReports

Collection(String)

Los nombres de cuenta de los informes directos del usuario.

DisplayName

String

El nombre para mostrar del usuario.

Email

String

La dirección de correo del usuario.

ExtendedManagers

Collection(String)

Los nombres de cuenta de la jerarquía de administración del usuario.

ExtendedReports

Collection(String)

Los nombres de cuenta de los informes ampliados del usuario.

IsFollowed

Boolean

Un valor Boolean que indica si el usuario actual sigue al usuario.

LatestPost

String

La última publicación de microblog del usuario.

Peers

Collection(String)

Los nombres de cuenta de los compañeros del usuario.

PersonalUrl

String

La dirección URL absoluta del sitio personal del usuario.

PictureUrl

String

La dirección URL de la imagen del perfil del usuario.

Title

String

El puesto del usuario.

UserProfileProperties

Collection(SP.KeyValue)

Las propiedades de perfil de usuario para el usuario.

UserUrl

String

La dirección URL de la página del perfil del usuario.

Notas de implementación

El formato del nombre de cuenta de los usuarios depende del entorno de SharePoint, tal como se describe en la tabla 1:

Tabla 1. Formatos de nombre de cuenta

Entorno de SharePoint

Formato de nombre de cuenta de ejemplo

Cómo pasar el nombre de cuenta usando un alias en la cadena de consulta

SharePoint Online o
SharePoint 2013 local usando formularios

i:0#.f|membership|usuario@dominio.com

…/<método>(@v)?@v='i%3A0%23.f%7Cmembership%7Cusuario%40dominio.onmicrosoft.com'

SharePoint 2013 local usando notificaciones de Windows

i:0#.w|dominio\usuario

…/<método>(@v)?@v='i%3A0%23.w%7Cdominio\usuario'

SharePoint 2013 local usando notificaciones de SAML

i:05:t|adfs con roles|usuario@dominio.com

…/<método>(@v)?@v='i%3A05%3At%7Cadfs+with+roles%7Cusuario%40dominio.com'

Nota

El formato del nombre de inicio de sesión del ejemplo de autenticación de notificaciones basadas en el lenguaje de marcado de aserción de seguridad (SAML) presupone que la notificación de identidad está configurada para usar una dirección de correo o el nombre de la entidad de seguridad del usuario. La autenticación basada en notificaciones de SAML no se puede usar en aplicaciones hospedas por SharePoint.

Recursos adicionales