Freigeben über


Folgen von Personen mithilfe des JavaScript-Objektmodell in SharePoint

In diesem Artikel erfahren Sie, wie Sie mithilfe des SharePoint JavaScript-Objektmodells mit Features zum Folgen von Personen arbeiten.

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

In SharePoint helfen Features zum Folgen von Personen den Benutzern, miteinander verbunden zu bleiben. Wenn beispielsweise ein Benutzer einer Person folgt, werden die Beiträge und Aktivitäten dieser Person im Newsfeed des Benutzers angezeigt. Mithilfe der folgenden Personen Features konzentrieren die Personen, die Benutzer kümmern können Sie die Relevanz Ihrer app oder Lösung verbessern. Im JavaScript-Objektmodell werden Personen, denen Sie folgen, durch SocialActor-Objekte dargestellt. Informationen zum folgenden Personen Kernaufgaben im Objektmodell von JavaScript ausführen, verwenden Sie das SocialFollowingManager -Objekt. In diesem Artikel veranschaulicht, wie das Objektmodell JavaScript folgenden personenfeatures entwickelt.

Hinweis

SocialFollowingManager ist die empfohlene API zum Folgen von Personen und Inhalten. Das PeopleManager-Objekt enthält jedoch zusätzliche Funktionen zum Folgen von Personen, wie die Methode amIFollowedBy 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 JavaScript-Objektmodells in SharePoint

Zum Erstellen der Farmlösung, die das JavaScript-Objektmodell verwendet, um mit Features zum Folgen von Personen zu arbeiten, benötigen Sie:

  • SharePoint mit konfigurierter „Meine Website“ und mit Benutzerprofilen und persönlichen Websites für den aktuellen Benutzer und einen Zielbenutzer
  • Visual Studio 2012
  • Office Developer Tools für Visual Studio 2012
  • Vollzugriff auf die Benutzerprofildienst-Anwendung für den angemeldeten Benutzer
  • Lokale Administratorberechtigungen für den angemeldeten Benutzer

Erstellen einer Farm Solution und Anwendung Seite in Visual Studio 2012

  1. Führen Sie Visual Studio als Administrator aus, 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. In der Vorlagenliste erweitern Sie Office/SharePoint, wählen Sie SharePoint-Lösungen, und wählen Sie dann die Vorlage SharePoint - leeres Projekt.

  4. Nennen Sie das Projekt FollowPeopleJSOM, und klicken Sie dann auf die Schaltfläche OK .

  5. Wählen Sie in das Dialogfeld des Assistenten zum Anpassen von SharePointals farmlösung bereitstellen, und wählen Sie dann auf die Schaltfläche Fertig stellen.

  6. Im Projektmappen-Explorer das Kontextmenü für das Projekt FollowPeopleJSOM öffnen, und fügen Sie eine SharePoint "Layouts" Ordner zugeordnet.

  7. Öffnen Sie im Ordner Layouts das Kontextmenü für den Ordner FollowPeopleJSOM, und fügen Sie eine neue SharePoint-Anwendungsseite namens FollowPeople.aspx.

    Hinweis

    Die Codebeispiele in diesem Artikel definieren benutzerdefinierten Code im Seitenmarkup, verwenden jedoch keine Code-Behind-Klasse, die Visual Studio für die Seite erstellt.

  8. Öffnen Sie das Kontextmenü für die Seite „FollowPeople.aspx“, und wählen Sie dann Als Startelement festlegen aus.

  9. Fügen Sie im Markup der Datei FollowPeople.aspx den folgenden Code zwischen den "Main" asp:Content -Tags ein. Dieser Code definiert die Steuerelemente und Skriptverweise.

    <span id="followResults"></span><br/><br />
    <button id="sendRequest" type="button"></button><br/>
    <span id="message" style="color: #FF0000;"></span>
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
    <SharePoint:ScriptLink name="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />
    <SharePoint:ScriptLink name="SP.UserProfiles.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />
    <SharePoint:FormDigest id="FormDigest" runat="server"/>
    <script type="text/javascript">
        // Replace this comment with the code for your scenario.
    </script>
    

    Hinweis

    Im Beispiel "Follower und gefolgte Personen abrufen" wird nicht das Schaltflächen-Steuerelement oder das Formulardigest-Steuerelement verwendet, das nur für Vorgänge erforderlich ist, die Serverinhalte aktualisieren. Eine Formulardigest generiert einen Nachrichtenhash für die sicherheitsüberprüfung verwendet.

  10. Ersetzen Sie den Kommentar zwischen den script Tags durch das Codebeispiel aus einem der folgenden Szenarien:

  11. Wählen Sie zum Testen der Lösung auf der Menüleiste Debuggen, Debuggen starten aus.

Codebeispiel: Starten oder beenden nach Personen, für die mithilfe der SharePoint JavaScript-Objektmodells

Im folgenden Codebeispiel wird der aktuelle Benutzer Start nach oder einen Zielbenutzer nach Beenden. 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.
  • Beginnen Sie mit der Follow-Methode, um dem Zielbenutzer zu folgen .
  • Beenden Sie die Folge des Zielbenutzers mithilfe der stopFollowing-Methode .

Hinweis

Fügen Sie den folgenden Code zwischen den script-Tags ein, die Sie im Verfahren Erstellen einer Farmlösung und Anwendungsseite hinzugefügt haben. Ändern Sie dann den Platzhalterwert für die Variable targetUser, bevor Sie den Code ausführen.

// Replace the placeholder value with the account name of the target user.
var targetUser = 'domain\\userName';

var clientContext;
var followingManager;
var actorInfo;
var isFollowed;
var followedCount;

// Ensure that the SP.UserProfiles.js file is loaded before running your code.
$(document).ready(function () {
    SP.SOD.executeOrDelayUntilScriptLoaded(getFollowingStatus, 'SP.UserProfiles.js');
});

// Get the Following status of the current user.
function getFollowingStatus() {

    // Get the current client context.
    clientContext = SP.ClientContext.get_current();

    // Get the SocialFeedManager instance.
    followingManager = new SP.Social.SocialFollowingManager(clientContext);

    // Create a SocialActorInfo object to represent the target user.
    actorInfo = new SP.Social.SocialActorInfo();
    actorInfo.set_accountName(targetUser);

    // Find out whether the current user is following the target user.
    isFollowed = followingManager.isFollowed(actorInfo);
    followedCount = followingManager.getFollowedCount(1);

    // Get the information from the server.
    clientContext.executeQueryAsync(showFollowingStatus, requestFailed)
}

// Show the Following status of the current user.
function showFollowingStatus() {
    var results = '';
    results += 'Is the current user following the target user? ' + isFollowed.get_value();
    results += '<br/>Total count of followed people: ' + followedCount.get_value();
    $('#followResults').html(results);

    // Initialize the button for this example.
    $('#sendRequest').click(
        function () {
            $('#message').empty();
            toggleFollowingStatus();
        });
    $('#sendRequest').text('Toggle following status');
}

// Follow or stop following the target user.
function toggleFollowingStatus() {
    if (isFollowed.get_value() === false) {
        followingManager.follow(actorInfo);
    }
    else if (isFollowed.get_value() === true) {
        followingManager.stopFollowing(actorInfo);
    }
    clientContext.executeQueryAsync(getFollowingStatus, requestFailed);
}

// Failure callback.
function requestFailed(sender, args) {
    $('#message').html('Error: ' + args.get_message());
}

Codebeispiel: Abrufen von Followern und gefolgten Personen mithilfe des JavaScript-Objektmodells in SharePoint

Das folgende Codebeispiel ruft die Personen, die der aktuelle Benutzer folgt und ruft die Personen, die vom aktuellen Benutzer eingehalten werden. Außerdem wird gezeigt, wie Sie:

  • 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 und 1 übergeben, um Benutzer-Akteurtypen darzustellen.
  • Durchlaufen Sie die Gruppen von Benutzern und Get Person Name, persönliche Website URI anzeigen sowie Bild URI.

Hinweis

Fügen Sie den folgenden Code zwischen den script Tags ein, die Sie in der Prozedur Erstellen einer Farmlösung und der Anwendungsseite hinzugefügt haben.

var followed;
var followers;

// Ensure that the SP.UserProfiles.js file is loaded before running your code.
$(document).ready(function () {
    SP.SOD.executeOrDelayUntilScriptLoaded(getFollowedAndFollowers, 'SP.UserProfiles.js');

    // Hide the button for this example.
    $('#sendRequest').hide();
});

// Get the Following status of the current user.
function getFollowedAndFollowers() {

    // Get the current client context.
    var clientContext = SP.ClientContext.get_current();

    // Get the SocialFeedManager instance.
    var followingManager = new SP.Social.SocialFollowingManager(clientContext);

    // Get followed people and followers.
    followers = followingManager.getFollowers();
    followed = followingManager.getFollowed(1);

    // Send the request to the server.
    clientContext.executeQueryAsync(showFollowedAndFollowers, requestFailed)
}

// Show the Following status of the current user.
function showFollowedAndFollowers() {
    var results = 'The current user is following ' + followed.length + ' people: <br/>';

    for (var i = 0; i < followed.length; i++) {
        var user = followed[i];
        var name = user.get_name();
        var personalSiteUri = user.get_personalSiteUri();
        var pictureUri = user.get_imageUri();

        results += '<br/>' + name + '<br/>' + personalSiteUri + '<br/>' + pictureUri + '<br/>';
    }

    results += '<br/>The current user is followed by ' + followers.length + ' people: <br/>';

    for (var i = 0; i < followers.length; i++) {
        var user = followers[i];
        var name = user.get_name();
        var personalSiteUri = user.get_personalSiteUri();
        var pictureUri = user.get_imageUri();

        results += '<br/>' + name + '<br/>' + personalSiteUri + '<br/>' + pictureUri + '<br/>';
    }
    $('#followResults').html(results);
}

// Failure callback.
function requestFailed(sender, args) {
    $('#message').html('Error: ' + args.get_message());
}

Siehe auch