Suivre des personnes à l'aide du modèle objet de client .NET en SharePoint

Apprenez à utiliser les fonctionnalités de personnes suivantes à l'aide du modèle d'objet client .NET SharePoint.

Pourquoi utiliser les fonctionnalités de personnes suivantes dans SharePoint ?

Dans SharePoint, lorsqu’un utilisateur suit des personnes, les publications et les activités des personnes suivies s’affiche dans le newsfeed de l’utilisateur. Grâce aux fonctionnalités de personnes suivantes pour vous concentrer sur les personnes qui vous intéressent pas les utilisateurs, vous pouvez améliorer la pertinence de votre application ou de la solution. Dans le modèle d'objet client .NET, les personnes que vous suivez sont représentés par les objets SocialActor . Pour effectuer les tâches principales de personnes suivantes dans le modèle d'objet client .NET, vous utilisez l'objet SocialFollowingManager . Cet article explique comment utiliser le modèle d'objet client .NET pour travailler avec les fonctionnalités de personnes suivantes.

Notes

[!REMARQUE] Nous vous concentrer sur SocialFollowingManager , car il regroupe les fonctionnalités de base pour le contenu et les personnes suivantes. Toutefois, l'objet PeopleManager contienne des fonctionnalités supplémentaires pour les personnes suivantes, telles que la méthode de AmIFollowedBy(String) et des méthodes qui obtenir l'état suivant d'autres utilisateurs.

Conditions préalables à la configuration de votre environnement de développement pour qu’il fonctionne avec les fonctionnalités de personnes suivantes à l’aide SharePoint modèle objet client .NET

Pour créer une application console qui utilise le modèle d'objet client .NET pour travailler avec les fonctionnalités de personnes suivantes, vous devez les éléments suivants :

  • SharePoint site Mon site configuré, et avec des profils utilisateur et des sites personnels créés pour l’utilisateur actuel et un utilisateur cible

  • Visual Studio 2012

  • Autorisations d'accès Contrôle total à l'application de service de profil utilisateur pour l'utilisateur connecté

Notes

Si vous ne réalisez pas le développement sur l’ordinateur qui exécute SharePoint, téléchargez les composants clients SharePoint qui contiennent les assemblys côté client SharePoint.

Créer une application console dans Visual Studio 2012

  1. Ouvrez Visual Studio et choisissez Fichier, Nouveau, Projet.

  2. Dans la boîte de dialogue Nouveau projet, sélectionnez .NET Framework 4.5 dans la liste déroulante située en haut de la boîte de dialogue.

  3. Dans la liste des modèles, choisissez fenêtres, puis choisissez le modèle Application Console.

  4. Nommez le projet FollowPeopleCSOM, puis cliquez sur le bouton OK.

  5. Ajoutez des références aux assemblies suivants :

  • Microsoft.SharePoint.Client
  • Microsoft.SharePoint.ClientRuntime
  • Microsoft.SharePoint.Client.UserProfiles
  1. Remplacez le contenu de la classe Program par l'exemple de code de l'un des scénarios suivants :
  1. Pour tester l'application de console, dans la barre de menus, choisissez Déboguer, Démarrer le débogage.

Exemple de code : démarrer ou arrêter le suivi de personnes à l’aide SharePoint modèle objet client .NET

L'exemple de code suivant rend la début utilisateur actuel suivant ou l'arrêt suivant un utilisateur cible. Il montre comment :

  • Vérifiez si l'utilisateur actuel est suivi d'un utilisateur cible à l'aide de la méthode IsFollowed .

  • Obtenir le nombre de personnes de l'utilisateur actuel est suivi à l'aide de la méthode GetFollowedCount .

  • Démarrez le suivi de l'utilisateur cible à l'aide de la méthode Follow .

  • Arrêter le suivi de l'utilisateur cible à l'aide de la méthode StopFollowing .

Cet exemple de code utilise l'objet SocialFollowResult qui est renvoyé par la méthode Follow afin de déterminer s'il faut démarrer ou arrêter le suivi de l'utilisateur cible.

Notes

[!REMARQUE] Modifier les valeurs d'espace réservé pour les variables serverUrl et targetUser avant d'exécuter le code.


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);
        }
    }
}

Exemple de code : obtenir des abonnés et des personnes suivies à l’aide SharePoint modèle objet client .NET

L'exemple de code suivant récupère les personnes à la suite de l'utilisateur actuel, obtient les personnes qui sont terminant par l'utilisateur actuel et obtient des informations sur l'état des personnes suivantes de l'utilisateur actuel. Il montre comment :

  • Vérifiez si l'utilisateur actuel est suivi d'un utilisateur cible à l'aide de la méthode IsFollowed .

  • Obtenir le nombre de personnes de l'utilisateur actuel est suivi à l'aide de la méthode GetFollowedCount .

  • Obtenez les personnes qui suit à l'aide de la méthode GetFollowed l'utilisateur actuel.

  • Obtenez les personnes qui suivent l'utilisateur actuel en utilisant la méthode GetFollowers .

  • Effectuer une itération dans les groupes de personnes et obtenir nom complet de chaque personne, URI personnel et image URI.

Notes

[!REMARQUE] Modifier les valeurs d'espace réservé pour les variables serverUrl et targetUser avant d'exécuter le code.


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);
            }
        }
    }
}

Voir aussi