Freigeben über


Folgen von Personen mithilfe des .NET-Clientobjektmodells in SharePoint

In diesem Artikel erfahren Sie, wie Sie mithilfe des .NET-Clientobjektmodells in SharePoint mit Features zum Folgen von Personen arbeiten.

Gründe für die Verwendung von Features zum Folgen von Personen in SharePoint

Wenn in SharePoint ein Benutzer Personen folgt, werden die Beiträge und Aktivitäten der gefolgten Personen im Newsfeed des Benutzers angezeigt. Indem Sie Features zum Folgen von Personen nutzen, damit sich Benutzer auf die Personen konzentrieren können, die für sie wichtig sind, können Sie die Relevanz Ihrer App oder Lösung verbessern. Im .NET-Clientobjektmodell werden personen, denen Sie folgen, durch SocialActor-Objekte dargestellt. Informationen zum folgenden Personen Kernaufgaben im Objektmodell von .NET Client ausführen, verwenden Sie das SocialFollowingManager -Objekt. In diesem Artikel veranschaulicht, wie das Clientobjektmodell .NET folgenden personenfeatures entwickelt.

Hinweis

Wir konzentrieren uns auf SocialFollowingManager , da es die Kernfunktionalität zum Folgen von Personen und Inhalten konsolidiert. Das PeopleManager-Objekt enthält jedoch zusätzliche Funktionen zum Folgen von Personen, wie die Methode AmIFollowedBy(String) und Methoden, die den Folgen-Status anderer Benutzer abrufen.

Voraussetzungen für das Einrichten Ihrer Entwicklungsumgebung zum Arbeiten mit Features zum Folgen von Personen mithilfe des .NET-Clientobjektmodells in SharePoint

Zum Erstellen einer Konsolenanwendung, die das .NET-Clientobjektmodell zum Arbeiten mit Features zum Folgen von Personen verwendet, benötigen Sie Folgendes:

  • SharePoint mit konfigurierter „Meine Website“ und mit Benutzerprofilen und persönlichen Websites für den aktuellen Benutzer und einen Zielbenutzer

  • Visual Studio 2012

  • Vollzugriff auf die Benutzerprofildienst-Anwendung für den angemeldeten Benutzer

Hinweis

Wenn Sie nicht auf dem Computer entwickeln, auf dem SharePoint ausgeführt wird, rufen Sie den Download der SharePoint-Clientkomponenten ab, der SharePoint-Clientassemblys enthält.

Erstellen einer Konsolenanwendung in Visual Studio 2012

  1. Öffnen Sie Visual Studio, und wählen Sie Datei, Neu, Projekt.

  2. Wählen Sie im Dialogfeld Neues Projekt aus der Dropdownliste oben im Dialogfeld die Option .NET Framework 4.5.

  3. Klicken Sie in der Liste Vorlagen wählen Sie Windows, und wählen Sie dann die Vorlage Konsolenanwendung.

  4. Nennen Sie das Projekt FollowPeopleCSOM, und wählen Sie dann auf die Schaltfläche OK.

  5. Fügen Sie Verweise auf die folgenden Assemblys hinzu:

  • Microsoft.SharePoint.Client
  • Microsoft.SharePoint.ClientRuntime
  • Microsoft.SharePoint.Client.UserProfiles
  1. Ersetzen Sie die Inhalte der Program-Klasse durch das Codebeispiel aus einem der folgenden Szenarien:
  1. Wählen Sie zum Testen der Konsolenanwendung, klicken Sie auf der Menüleiste Debuggen, Debuggen starten aus.

Codebeispiel: Starten oder beenden nach Personen, für die mithilfe des Clientobjektmodells für SharePoint.NET

Im folgenden Codebeispiel wird der aktuelle Benutzer Start nach oder einen Zielbenutzer nach Beenden. Außerdem wird gezeigt, wie Sie:

In diesem Codebeispiel wird das SocialFollowResult-Objekt verwendet, das von der Follow-Methode zurückgegeben wird, um zu bestimmen, ob der Zielbenutzer gestartet oder beendet werden soll.

Hinweis

Ändern Sie die Platzhalterwerte für die Variablen serverUrl und targetUser, bevor Sie den Code ausführen.


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

Codebeispiel: Abrufen von Followern und gefolgten Personen mithilfe des .NET-Clientobjektmodells in SharePoint

Der folgende Code Beispiel ruft die Personen, die der aktuelle Benutzer folgt, ruft die Personen, gefolgt von den aktuellen Benutzer und ruft Informationen über die folgenden Personen Status des aktuellen Benutzers, ab. Außerdem wird gezeigt, wie Sie:

  • Überprüfen Sie mithilfe der IsFollowed-Methode , ob der aktuelle Benutzer einem Zielbenutzer folgt.

  • Rufen Sie die Anzahl der Personen ab, denen der aktuelle Benutzer folgt, indem Sie die GetFollowedCount-Methode verwenden.

  • Rufen Sie die Personen ab, denen der aktuelle Benutzer folgt, indem Sie die GetFollowed-Methode verwenden.

  • Rufen Sie die Personen ab, die dem aktuellen Benutzer folgen, indem Sie die GetFollowers-Methode verwenden.

  • Durchlaufen Sie die Gruppen von Personen und möchten Sie Anzeigename den Namen der Person, persönliche URI und Teile des Bildes URI erhalten.

Hinweis

Ändern Sie die Platzhalterwerte für die Variablen serverUrl und targetUser, bevor Sie den Code ausführen.


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

Siehe auch