Seguir pessoas usando o modelo de objeto do cliente .NET no SharePoint
Saiba como trabalhar com os recursos Seguir Pessoas usando o modelo de objeto do cliente .NET do SharePoint.
Por que usar os seguintes recursos de Pessoas no SharePoint?
No SharePoint, quando um usuário segue pessoas, as postagens e as atividades das pessoas seguidas aparecem no feed de notícias do usuário. Usando recursos de pessoas a seguir para focalizar em que as pessoas que se preocupam de usuários, você pode melhorar a relevância de sua solução ou aplicativo. No modelo de objeto cliente .NET, as pessoas que você segue são representadas por objetos SocialActor . Para executar tarefas de pessoas a seguir de núcleo do modelo de objeto do cliente .NET, use o objeto SocialFollowingManager . Este artigo mostra como usar o modelo de objeto do cliente .NET para trabalhar com os recursos de pessoas a seguir.
Observação
Focamos no SocialFollowingManager porque ele consolida a funcionalidade principal para seguir pessoas e conteúdo. No entanto, o objeto PeopleManager contém funcionalidade adicional para seguintes pessoas, como o método AmIFollowedBy(String) e métodos que obtêm o seguinte status de outros usuários.
Pré-requisitos para configurar seu ambiente de desenvolvimento para trabalhar com os seguintes recursos de Pessoas usando o modelo de objeto cliente do .NET do SharePoint
Para criar um aplicativo de console que usa o modelo de objeto do cliente .NET para trabalhar com os recursos de pessoas a seguir, será necessário o seguinte:
SharePoint com Meu Site configurado e com perfis de usuário e sites pessoais criados para o usuário atual e um usuário de destino
Visual Studio 2012
Permissões de acesso de Controle total para o aplicativo de serviço de perfil de usuário para o usuário conectado
Observação
Se você não estiver desenvolvendo no computador que está executando o SharePoint, obtenha o download de Componentes do Cliente do SharePoint que contém assemblies de cliente do SharePoint.
Criar um aplicativo de console em Visual Studio 2012
Abra Visual Studio e escolha arquivo, novoprojeto.
Na caixa de diálogo Novo projeto, escolha o .NET Framework 4.5 da lista suspensa na parte superior da caixa de diálogo.
Na lista de modelos, escolha Windows e, em seguida, escolha o modelo de Aplicativo de Console.
Nome do projeto FollowPeopleCSOMe escolha o botão OK.
Adicione referências a assemblies a seguir:
- Microsoft.SharePoint.Client
- Microsoft.SharePoint.ClientRuntime
- Microsoft.SharePoint.Client.UserProfiles
- Substitua o conteúdo da classe Program o exemplo de código de um dos seguintes cenários:
- Para testar o aplicativo de console, na barra de menus, escolha Depurar, Iniciar depuração.
Exemplo de código: iniciar ou parar de seguir pessoas usando o modelo de objeto cliente do .NET do SharePoint
O exemplo de código a seguir torna o início de usuário atual seguindo ou parar seguindo um usuário de destino. Ele mostra como:
Verifique se o usuário atual está seguindo um usuário de destino usando o método IsFollowed .
Obtenha a contagem de pessoas que o usuário atual está seguindo usando o método GetFollowedCount .
Comece a seguir o usuário de destino usando o método Follow .
Pare de seguir o usuário de destino usando o método StopFollowing .
Este exemplo de código usa o objeto SocialFollowResult que é retornado pelo método Follow para determinar se deve iniciar ou parar de seguir o usuário de destino.
Observação
[!OBSERVAçãO] Altere os valores de espaço reservado para as variáveis $ serverUrl e targetUser antes de executar o 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);
}
}
}
Exemplo de código: obtenha seguidores e siga as pessoas usando o modelo de objeto cliente do .NET do SharePoint
O seguinte exemplo de código obtém as pessoas que o usuário atual está seguindo, obtém as pessoas que são seguidas pelo usuário atual e obtém informações sobre o status de pessoas a seguir do usuário atual. Ele mostra como:
Verifique se o usuário atual está seguindo um usuário de destino usando o método IsFollowed .
Obtenha a contagem de pessoas que o usuário atual está seguindo usando o método GetFollowedCount .
Obtenha as pessoas que o usuário atual está seguindo usando o método GetFollowed .
Obtenha as pessoas que estão seguindo o usuário atual usando o método GetFollowers .
Percorrer os grupos de pessoas e obtenha o nome de exibição de cada pessoa, o URI de pessoal e o URI da imagem.
Observação
[!OBSERVAçãO] Altere os valores de espaço reservado para as variáveis $ serverUrl e targetUser antes de executar o 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);
}
}
}
}