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.

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

  1. Abra Visual Studio e escolha arquivo, novoprojeto.
  2. 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.
  3. Na lista de modelos, escolha Windows e, em seguida, escolha o modelo de Aplicativo de Console.
  4. Nomeie o projeto como FollowPeopleCSOM e escolha o botão OK .
  5. Adicione referências a assemblies a seguir:
  • Microsoft.SharePoint.Client
  • Microsoft.SharePoint.ClientRuntime
  • Microsoft.SharePoint.Client.UserProfiles
  1. Substitua o conteúdo da classe Program o exemplo de código de um dos seguintes cenários:
  1. 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);
      }
    }
  }
}

Confira também