Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba como trabalhar com os recursos Seguir Pessoas usando o modelo de objeto do cliente .NET do SharePoint.
Observação
Os recursos sociais clássicos do SharePoint (News feed e Following People) foram preteridos e não têm suporte nas experiências modernas do SharePoint Online. A Microsoft recomenda o uso de serviços modernos do Microsoft 365, como o Viva Engage, para cenários sociais e comunitários. As APIs neste artigo se aplicam principalmente a ambientes locais do Servidor do SharePoint.
Por que usar os recursos Following People no SharePoint?
No SharePoint, quando um usuário segue pessoas, as postagens e as atividades das pessoas seguidas aparecem no news feed 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 do 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
Nós nos concentramos 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 funcionar com os recursos Following People usando o modelo de objeto do cliente .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
- 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 dos componentes do cliente do SharePoint que contêm assemblies de cliente do SharePoint.
Criar um aplicativo de console no Visual Studio
- Abra Visual Studio e escolha arquivo, novoprojeto.
- Na caixa de diálogo Novo Projeto, escolha o .NET Framework 4.5 ou posterior na 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.
- Nomeie o projeto como FollowPeopleCSOM e 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: comece ou pare de seguir pessoas usando o modelo de objeto do cliente .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 IsFollowing .
- 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 começar ou parar de seguir o usuário de destino.
Observação
Altere os valores de espaço reservado para as serverUrl variáveis 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: Obter seguidores e pessoas seguidas usando o modelo de objeto do cliente .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 IsFollowing .
- 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 GetFollowing .
- 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
Altere os valores de espaço reservado para as serverUrl variáveis 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);
}
}
}
}