Partager via


Suivre des personnes à l'aide du modèle d'objet JavaScript dans SharePoint

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

Pourquoi utiliser les fonctionnalités de suivi Personnes dans SharePoint ?

Dans SharePoint, les fonctionnalités suivantes Personnes aident les utilisateurs à rester connectés les uns avec les autres. Par exemple, lorsqu'un utilisateur suit une personne, billets et les activités de cette personne s'affichent-ils dans un échange de News 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 objet JavaScript, les personnes que vous suivez sont représentées par des objets SocialActor . Pour effectuer les tâches principales de personnes suivantes dans le modèle d'objet JavaScript, vous utilisez l'objet SocialFollowingManager . Cet article explique comment utiliser le modèle d'objet JavaScript pour travailler avec les fonctionnalités de personnes suivantes.

Remarque

[!REMARQUE] SocialFollowingManager est l'API recommandée à utiliser pour le suivi des personnes et des contenus. Toutefois, l'objet PeopleManager contienne des fonctionnalités supplémentaires pour les personnes suivantes, telles que la méthode de amIFollowedBy 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 à l’aide du modèle objet JavaScript SharePoint

Pour créer la solution de batterie de serveurs qui utilise le modèle d'objet JavaScript pour travailler avec les fonctionnalités de personnes suivantes, vous aurez besoin :

  • SharePoint avec 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
  • Outils de développement Office pour Visual Studio 2012
  • Autorisations d'accès Contrôle total à l'application de service de profil utilisateur pour l'utilisateur connecté
  • Autorisations d'administrateur local pour l'utilisateur connecté

Créer une page de solution et l'application de batterie de serveurs dans Visual Studio 2012

  1. Exécutez Visual Studio en tant qu'administrateur, puis 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.

  3. Dans la liste Modèles , développez Office/SharePoint, choisissez Solutions SharePoint, puis choisissez le modèle SharePoint - Projet vide .

  4. Nommez le projet FollowPeopleJSOM, puis choisissez le bouton OK .

  5. Dans la boîte de dialogue Assistant Personnalisation de SharePoint, sélectionnez déployer en tant qu'une solution de batterie de serveurs, puis cliquez sur le bouton Terminer.

  6. Dans L'Explorateur de solutions, ouvrez le menu contextuel du projet FollowPeopleJSOM, puis ajoutez un SharePoint dossier mappé « Dispositions ».

  7. Dans le dossier dispositions, ouvrez le menu contextuel pour le dossier FollowPeopleJSOM, puis ajoutez une nouvelle page d'application SharePoint nommée FollowPeople.aspx.

    Remarque

    [!REMARQUE] Les exemples de code dans cet article définissent le code personnalisé dans le balisage de la page, mais n'utilisez pas la classe code-behind que Visual Studio crée pour la page.

  8. Ouvrez le menu contextuel de la page FollowPeople.aspx, puis choisissez Set as Startup Item.

  9. Dans le balisage du fichier FollowPeople.aspx, collez le code suivant entre les balises « Main ». asp:Content Ce code définit des contrôles et les références de script.

    <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>
    

    Remarque

    [!REMARQUE] L'exemple de « Obtenir du marché et personnes suivies » n'utilise pas le contrôle button ou le contrôle de déchiffrement, qui est uniquement requis pour les opérations qui mettent à jour le contenu du serveur. Chiffrement de formulaire génère un résumé de message utilisé pour la validation de la sécurité.

  10. Remplacez le commentaire entre les script balises par l’exemple de code de l’un des scénarios suivants :

  11. Pour tester la solution, 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 du modèle objet JavaScript SharePoint

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 suit un utilisateur cible à l’aide de la méthode isFollowed .
  • Obtenez le nombre de personnes que l’utilisateur actuel suit à l’aide de la méthode getFollowedCount .
  • Commencez à suivre l’utilisateur cible à l’aide de la méthode suivante .
  • Arrêtez de suivre l’utilisateur cible à l’aide de la méthode stopFollowing .

Remarque

[!REMARQUE] Collez le code suivant entre les balises de script que vous avez ajoutée dans la procédure créer une solution de batterie de serveurs et la page d'application . Ensuite, modifiez la valeur de l'espace réservé pour la variable targetUser avant d'exécuter le code.

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

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

L'exemple de code suivant obtient les personnes qui est suivi de l'utilisateur actuel et obtient les personnes qui sont terminant par l'utilisateur actuel. Il montre comment :

  • Obtenez les personnes que l’utilisateur actuel suit à l’aide de la méthode getFollowed .
  • Obtenez les personnes qui suivent l’utilisateur actuel en utilisant la méthode getFollowers et en passant 1 pour représenter les types d’acteur utilisateur .
  • Itération dans les groupes de personnes et get chaque personne affiche l'URI du site nom, personnel, ainsi que picture URI.

Remarque

Collez le code suivant entre les script balises que vous avez ajoutées dans la procédure de page Créer une solution de batterie de serveurs et une application .

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

Voir aussi