Trabajar con fuentes sociales en SharePoint

Obtenga información sobre las tareas de programación comunes para trabajar con fuentes sociales y publicaciones de microblog en SharePoint.

API para trabajar con fuentes sociales en SharePoint

En las granjas de servidores locales de SharePoint, las fuentes sociales interactivas están diseñadas para animar a los usuarios a compartir información y a mantenerse conectados con personas y contenido. Puede ver muchas características de fuentes en la página Suministro de noticias en el sitio personal de un usuario. Las fuentes contienen colecciones de hilos que representan entradas de microblog, conversaciones, actualizaciones de estado y otras notificaciones.

SharePoint proporciona las siguientes API que puede usar para trabajar mediante programación con fuentes sociales:

  • 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 los modelos de objetos de cliente, el modelo de objetos 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.

Cada API incluye un objeto de administrador que se usa para realizar tareas relacionadas con fuentes. En la tabla 1 se muestra el administrador y otros objetos clave (o recursos REST) en las API y la biblioteca de clases (o URI de extremo) donde puede encontrarlas.

Nota:

[!NOTA] Los modelos de objetos de cliente móvil y de Silverlight no se mencionan de forma explícita en la Tabla 1 ni en la Tabla 2 porque proporcionan las mismas funciones básicas 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 se define en Microsoft.SharePoint.Client.UserProfiles.Phone.dll.

Tabla 1. API de SharePoint usadas para trabajar con fuentes sociales mediante programación

API Objetos clave
El modelo de objetos de cliente de .NET
Vea: Cómo: Crear y eliminar publicaciones y recuperar la fuente social mediante el modelo de objetos de cliente de .NET en SharePoint
Objeto Manager: SocialFeedManager
Espacio de nombres principal: Microsoft.SharePoint.Client.Social
Otros objetos clave: SocialFeed , SocialThread , SocialPost , SocialPostCreationData , SocialFeedOptions , SocialActor
Biblioteca de clases: Microsoft.SharePoint.Client.UserProfiles.dll
Modelo de objetos JavaScript
Vea How to: Create and delete posts and retrieve the social feed by using the JavaScript object model in SharePoint (Cómo: Crear y eliminar publicaciones y recuperar la fuente social mediante el modelo de objetos de JavaScript en SharePoint).
Objeto Manager: SocialFeedManager
Espacio de nombres principal: SP. Social
Otros objetos clave: SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor
Biblioteca de clases: SP.UserProfiles.js
Servicio REST
Vea How to: Learn to read and write to the social feed by using the REST service in SharePoint (Cómo: Aprender a leer y escribir en la fuente social mediante el servicio REST en SharePoint).
Recurso del administrador: social.feed (SocialRestFeedManager)
Espacio de nombres principal (OData): SP. Social
Otros recursos clave: SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor
Punto de acceso: <siteUri>/_api/social.feed
Modelo de objetos de servidor
Nota: El código que usa el modelo de objetos de servidor para acceder a los datos de fuente y se ejecuta de forma remota debe usar un objeto SPServiceContextScope .
Objeto de administrador: SPSocialFeedManager
Espacio de nombres principal: Microsoft.Office.Server.Social
Otros objetos clave: SPSocialFeed , SPSocialThread , SPSocialPost , SPSocialFeedOptions , SPSocialActor
Biblioteca de clases: Microsoft.Office.Server.UserProfiles.dll

Si usa el modelo de objetos de servidor para acceder al contenido de la fuente y el código no se ejecuta en una instancia de SharePoint (es decir, si la extensión no está instalada en la carpeta LAYOUTS del servidor de aplicaciones), use un objeto SPServiceContextScope en el código. En el ejemplo de código siguiente se muestra una forma de incorporar el objeto SPServiceContextScope en el código.


using (SPSite site = new SPSite(<siteURL>))
{
    using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
    {
        // code
    }
}

Tareas de programación comunes para trabajar con fuentes sociales en SharePoint

En la tabla 2 se muestran las tareas de programación comunes para trabajar con fuentes sociales y los miembros que se usan para realizarlas. Los miembros pertenecen al modelo de objetos de cliente .NET (CSOM), el modelo de objetos de JavaScript (JSOM), el servicio REST y el modelo de objetos de servidor (SSOM).

Tabla 2. API para tareas de programación comunes para trabajar con fuentes sociales en SharePoint

Tarea Miembros
Crear una instancia del objeto del administrador en el contexto del usuario actual CSOM: SocialFeedManager
JSOM: SocialFeedManager
REST: GET<siteUri>/_api/social.feed
SSOM: SPSocialFeedManager
Crear una instancia del objeto del administrador en el contexto de un usuario en particular CSOM: no implementado
JSOM: no implementado
REST: no implementado
SSOM: SPSocialFeedManager
Obtener el usuario para el contexto actual CSOM: Propietario
JSOM: propietario
REST: GET<siteUri>/_api/social.feed/my
SSOM: Propietario
Obtener la fuente para el usuario actual
(especifique el tipo de fuente)
CSOM: GetFeed
JSOM: getFeed
REST: GET<siteUri>/_api/social.feed/my/Feed (feed.md personal), <siteUri>/_api/social.feed/my/News, <siteUri>/_api/social.feed/my/TimelineFeedo <siteUri>/_api/social.feed/my/Likes
SSOM: GetFeed
Obtener la fuente personal para un usuario en particular CSOM: GetFeedFor
JSOM: getFeedFor
REST: GET<siteUri>/_api/social.feed/actor(item='domain\\user')/Feed
SSOM: GetFeedFor
Obtener la fuente del sitio para un sitio de grupo
(especifique la dirección URL de la fuente de sitio como actor (por ejemplo: http://< siteCollection>/<teamSite>/newsfeed.aspx))
CSOM: GetFeedFor
JSOM: getFeedFor
REST: GET<siteUri>/_api/social.feed/actor(item=@v)/Feed?@v='http://<siteCollection>/<teamSite>/newsfeed.aspx'
SSOM: GetFeedFor
Publicar una entrada raíz en la fuente del usuario actual
(especifique null para el destino)
CSOM: CreatePost
JSOM: createPost
REST: POST<siteUri>/_api/social.feed/my/Feed/Post y pase el parámetro restCreationData en el cuerpo de la solicitud.
SSOM: CreatePost
Publicar una entrada en una fuente del sitio
(especifique la dirección URL de la fuente de sitio como destino (por ejemplo, http://< siteCollection>/teamSite>/newsfeed.aspx))
CSOM: CreatePost
JSOM: createPost
REST: POST<siteUri>/_api/social.feed/actor(item=@av)/feed/post/?@av='<teamSiteUri>/newsfeed.aspx' y pase el parámetro restCreationData en el cuerpo de la solicitud (especifique null para el parámetro ID )
SSOM: CreatePost
Publicar una respuesta a una entrada
(especifique el Id. del hilo de destino)
CSOM: CreatePost
JSOM: createPost
REST: POST<siteUri>/_api/social.feed/Post/Reply y pase el parámetro restCreationData en el cuerpo de la solicitud.
SSOM: CreatePost
Eliminar una entrada, una respuesta o un hilo en la fuente de usuario actual (al eliminar una entrada raíz se elimina todo el hilo) CSOM: DeletePost
JSOM: deletePost
REST: POST<siteUri>/_api/social.feed/Post/Delete y pase el parámetro ID en el cuerpo de la solicitud.
SSOM: DeletePost
Obtener un hilo (una entrada raíz y todas sus respuestas) de la fuente del usuario CSOM: GetFullThread
JSOM: getFullThread
REST: POST<siteUri>/_api/social.feed/Post y pase el parámetro ID en el cuerpo de la solicitud.
SSOM: GetFullThread
Hacer que al usuario le guste (o no le guste) una entrada o una respuesta CSOM: LikePost ( UnlikePost )
JSOM: likePost ( unlikePost)
REST: POST<siteUri>/_api/social.feed/Post/Like ( <siteUri>/_api/social.feed/Post/Unlike) y pase el parámetro ID en el cuerpo de la solicitud.
SSOM: LikePost ( UnlikePost )
Obtener todos los seguidores de una entrada CSOM: GetAllLikers
JSOM: getAllLikers
REST: POST<siteUri>/_api/social.feed/Post/Likers y pase el parámetro ID en el cuerpo de la solicitud.
SSOM: GetAllLikers
Obtener las entradas que mencionan a un usuario CSOM: GetMentions
JSOM: getMentions
REST: GET<siteUri>/_api/social.feed/my/MentionFeed
SSOM: GetMentions
Obtener el número de menciones no leídas del usuario actual CSOM: GetUnreadMentionCount
JSOM: getUnreadMentionCount
REST: GET<siteUri>/_api/social.feed/my/UnreadMentionCount
SSOM: GetUnreadMentionCount
Bloquear (desbloquear) un hilo en la fuente del usuario actual CSOM: LockThread ( UnlockThread )
JSOM: lockThread ( unlockThread)
REST: POST<siteUri>/_api/social.feed/Post/Lock ( <siteUri>/_api/social.feed/Post/Unlock) y pase el parámetro ID en el cuerpo de la solicitud.
SSOM: LockThread ( UnlockThread .md)

Nota:

El valor del marcador de posición domain\user en el ejemplo DE REST debe reemplazarse por el nombre de cuenta de un usuario real. Para ver cómo pasar un parámetro REST en el cuerpo de una solicitud, consulte los ejemplos en la referencia de la API de REST de fuentes sociales.

SharePoint no proporciona una API para personalizar el diseño o la representación de las publicaciones de microblog directamente. SharePoint solo proporciona los datos y permite que las aplicaciones cliente multiplataforma y entre dispositivos definan diseños adecuados para sus factores de forma y necesidades. En el desarrollo de SharePoint, puede usar invalidaciones de JavaScript en la representación del lado cliente, como se describe en Personalizar una vista de lista en complementos de SharePoint mediante la representación del lado cliente.

Información general de tipos de fuentes en la API Mi sitio social

Los tipos de fuente representan segmentos de datos de fuentes. Al recuperar una fuente para el usuario actual, puede especificar uno de los siguientes tipos de fuente:

  • Personal contiene las entradas y las actualizaciones que se generan desde un usuario. En Mi sitio, esta fuente se muestra en la página Acerca de mí de un usuario.

  • News contiene las entradas y las actualizaciones que se generan desde el usuario actual y desde las personas y el contenido que el usuario sigue. Al recuperar el tipo de fuente News, use la opción de orden ByModifiedTime para obtener las actividades más recientes (en caché) de las personas que sigue el usuario. En Mi sitio, esta fuente se muestra en la página Suministro de noticias del usuario.

  • Timelinecontiene las entradas y las actualizaciones generadas desde el usuario actual y desde las personas y el contenido que el usuario sigue. Timeline es particularmente útil cuando desea datos de fuentes de un intervalo de tiempo determinado o cuando desea ordenar con la opción ByCreatedTime (que incluye la mayor muestra de personas).

  • Likes contiene hilos de referencia con una propiedad PostReference que representa una entrada que el usuario actual ha marcado con el atributo Like.

  • Everyone contiene los hilos de toda la organización del usuario actual.

Los modelos de objetos de servidor, cliente y JavaScript proporcionan el método GetFeed, que puede usar para recuperar cualquier tipo de fuente para el usuario actual, y el método GetFeedFor, que puede usar para recuperar el tipo de fuente Personal (solo) para un usuario determinado. Ambos métodos toman un objeto SocialFeedOptions como parámetro, que se usa para especificar el orden basándose en el tiempo, el intervalo de fechas y el número máximo de hilos que se van a devolver.

Nota:

[!NOTA] El servicio REST ofrece diferentes recursos para recuperar cada tipo de fuente, como se muestra en la tabla 2.

Si un hilo contiene más de dos respuestas, el servidor devuelve un resumen del hilo que contiene solo las dos respuestas más recientes. (Los resúmenes de subproceso tienen aplicado el atributo de subproceso IsDigest ). Si desea obtener todas las respuestas de un subproceso, llame al método GetFullThread desde el objeto del administrador de fuentes y pase el identificador del subproceso.

Vea también