Seguir a personas usando el modelo de objeto cliente .NET en SharePoint
Aprenda a trabajar con las características de Seguir a personas usando el modelo de objeto de cliente de SharePoint .NET.
¿Por qué usar las siguientes características de Personas en SharePoint?
En SharePoint, cuando un usuario sigue a las personas, las publicaciones y actividades de las personas seguidas aparecen en el suministro de noticias del usuario. Mediante las características de seguimiento de personas para centrarse en las personas que le preocupan los usuarios, puede mejorar la relevancia de la aplicación o la solución. En el modelo de objetos de cliente de .NET, las personas que sigue se representan mediante objetos SocialActor . Para realizar tareas principales de seguimiento Personas en el modelo de objetos de cliente de .NET, use el objeto SocialFollowingManager. En este artículo se muestra cómo usar el modelo de objetos de cliente de .NET para trabajar con las características siguientes Personas.
Nota:
Nos centramos en SocialFollowingManager porque consolida la funcionalidad principal para seguir a personas y contenido. Sin embargo, el objeto PeopleManager contiene funciones adicionales para seguir a personas, como el método AmIFollowedBy(String) y métodos que obtención el estado siguiente de otros usuarios.
Requisitos previos para configurar el entorno de desarrollo para trabajar con las siguientes características Personas mediante el modelo de objetos de cliente de .NET de SharePoint
Para crear una aplicación de consola que usa el modelo de objetos de cliente de .NET para trabajar con las características de seguimiento de personas, necesitará lo siguiente:
SharePoint con Mi sitio configurado y con perfiles de usuario y sitios personales creados para el usuario actual y un usuario de destino
Visual Studio 2012
Permisos de acceso Control total sobre la aplicación de servicio Perfil de usuario para el usuario que ha iniciado sesión
Nota:
Si no está desarrollando en el equipo que ejecuta SharePoint, obtenga la descarga componentes de cliente de SharePoint que contiene ensamblados de cliente de SharePoint.
Crear una aplicación de consola en Visual Studio 2012
Abra Visual Studio y seleccione Archivo, Nuevo, Proyecto.
En el cuadro de diálogo Nuevo proyecto, seleccione .NET Framework 4.5 en la lista desplegable situada en la parte superior del cuadro de diálogo.
En la lista Plantillas, seleccione Windows y, después, elija la plantilla Aplicación de consola.
Nombre del proyecto FollowPeopleCSOMy, a continuación, elija el botón Aceptar.
Agregue referencias a los ensamblados siguientes:
- Microsoft.SharePoint.Client
- Microsoft.SharePoint.ClientRuntime
- Microsoft.SharePoint.Client.UserProfiles
- Reemplace el contenido de la clase Program con el ejemplo de código de uno de los siguientes escenarios:
- Para probar la aplicación de consola, en la barra de menús, seleccione Depurar, Iniciar depuración.
Ejemplo de código: Iniciar o dejar de seguir a personas mediante el modelo de objetos de cliente de .NET de SharePoint
En el ejemplo de código siguiente se convierte el inicio de usuario actual sigue o la detención sigue a un usuario de destino. Muestra cómo:
Compruebe si el usuario actual sigue a un usuario de destino mediante el método IsFollowed .
Obtenga el recuento de personas que sigue el usuario actual mediante el método GetFollowedCount .
Empiece a seguir al usuario de destino mediante el método Follow .
Deje de seguir al usuario de destino mediante el método StopFollowing .
En este ejemplo de código se usa el objeto SocialFollowResult devuelto por el método Follow para determinar si se debe iniciar o dejar de seguir al usuario de destino.
Nota:
[!NOTA] Cambie los valores de marcador de posición de las variables serverUrl y targetUser antes de ejecutar el código.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;
namespace FollowPeopleCSOM
{
class Program
{
static ClientContext clientContext;
static SocialFollowingManager followingManager;
static void Main(string[] args)
{
// Replace the following placeholder values with the target
// server URL and target user.
const string serverUrl = "http://serverName";
const string targetUser = "domainName\\\\userName";
// Get the client context.
clientContext = new ClientContext(serverUrl);
// Get the SocialFeedManager instance.
followingManager = new SocialFollowingManager(clientContext);
// Create a SocialActorInfo object to represent the target user.
SocialActorInfo actorInfo = new SocialActorInfo();
actorInfo.AccountName = targetUser;
// Find out whether the current user is following the target user.
ClientResult<bool> isFollowed = followingManager.IsFollowed(actorInfo);
// Get the information from the server.
clientContext.ExecuteQuery();
Console.WriteLine("Was the current user following the target user? {0}\\n", isFollowed.Value);
Console.Write("Initial count: ");
// Get the current count of followed people.
WriteFollowedCount();
// Try to follow the target user. If the result is OK, then
// the request succeeded.
ClientResult<SocialFollowResult> result = followingManager.Follow(actorInfo);
clientContext.ExecuteQuery();
// If the result is AlreadyFollowing, then stop following
// the target user.
if (result.Value == SocialFollowResult.AlreadyFollowing)
{
followingManager.StopFollowing(actorInfo);
clientContext.ExecuteQuery();
}
// Handle other SocialFollowResult return values.
else if (result.Value == SocialFollowResult.LimitReached
|| result.Value == SocialFollowResult.InternalError)
{
Console.WriteLine(result.Value);
}
// Get the updated count of followed people.
Console.Write("Updated count: ");
WriteFollowedCount();
Console.ReadKey();
}
// Get the count of the people who the current user is following.
static void WriteFollowedCount()
{
ClientResult<int> followedCount = followingManager.GetFollowedCount(SocialActorTypes.Users);
clientContext.ExecuteQuery();
Console.WriteLine("The current user is following {0} people.", followedCount.Value);
}
}
}
Ejemplo de código: Obtener seguidores y personas seguidas mediante el modelo de objetos de cliente de .NET de SharePoint
El ejemplo de código siguiente obtiene las personas que el usuario actual sigue, obtiene las personas que se siguen por el usuario actual y a continuación, obtiene información acerca del estado de seguimiento de personas del usuario actual. Muestra cómo:
Compruebe si el usuario actual sigue a un usuario de destino mediante el método IsFollowed .
Obtenga el recuento de personas que sigue el usuario actual mediante el método GetFollowedCount .
Obtenga las personas que sigue el usuario actual mediante el método GetFollowed .
Obtenga las personas que siguen al usuario actual mediante el método GetFollowers .
Iterar a través de los grupos de personas y obtener el nombre para mostrar de cada persona, el URI del personal y el URI de la imagen.
Nota:
[!NOTA] Cambie los valores de marcador de posición de las variables serverUrl y targetUser antes de ejecutar el código.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;
namespace FollowPeopleCSOM
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the target
// server URL and target user.
const string serverUrl = "http://serverName";
const string targetUser = "domainName\\\\userName";
// Get the client context.
ClientContext clientContext = new ClientContext(serverUrl);
// Get the SocialFeedManager instance.
SocialFollowingManager followingManager = new SocialFollowingManager(clientContext);
// Create a SocialActorInfo object to represent the target user.
SocialActorInfo actorInfo = new SocialActorInfo();
actorInfo.AccountName = targetUser;
// Find out whether the current user is following the target user.
ClientResult<bool> isFollowed = followingManager.IsFollowed(actorInfo);
// Get the count of people who the current user is following.
ClientResult<int> followedCount = followingManager.GetFollowedCount(SocialActorTypes.Users);
// Get the people who the current user is following.
ClientResult<SocialActor[]> followedResult = followingManager.GetFollowed(SocialActorTypes.Users);
// Get the people who are following the current user.
ClientResult<SocialActor[]> followersResult = followingManager.GetFollowers();
// Get the information from the server.
clientContext.ExecuteQuery();
// Write the results to the console window.
Console.WriteLine("Is the current user following the target user? {0}\\n", isFollowed.Value);
Console.WriteLine("People who the current user is following: ({0} count)", followedCount.Value);
IterateThroughPeople(followedResult.Value);
Console.WriteLine("\\nPeople who are following the current user:");
IterateThroughPeople(followersResult.Value);
Console.ReadKey();
}
// Iterate through the people and get each person's display
// name, personal URI, and picture URI.
static void IterateThroughPeople(SocialActor[] actors)
{
foreach (SocialActor actor in actors)
{
Console.WriteLine(" - {0}", actor.Name);
Console.WriteLine("\\tPersonal URI: {0}", actor.PersonalSiteUri);
Console.WriteLine("\\tPicture URI: {0}", actor.ImageUri);
}
}
}
}