Utiliser des flux sociaux dans SharePoint
Découvrez les tâches de programmation courantes pour utiliser des flux sociaux et des billets de microblog dans SharePoint.
API pour utiliser des flux sociaux dans SharePoint
Dans les batteries de serveurs SharePoint locales, les flux sociaux interactifs sont conçus pour inviter les utilisateurs à partager des informations et rester en contact avec d’autres personnes et du contenu. De nombreuses fonctionnalités de flux sont affichées sur la page Flux d’actualités du site personnel de l’utilisateur. Les flux contiennent des collections de fils de discussion qui représentent des billets de microblog, des conversations, des mises à jour de statut et d’autres notifications.
SharePoint fournit les API suivantes, que vous pouvez utiliser pour manipuler les flux sociaux via un programme :
Modèles objet client pour le code managé
Modèle objet client .NET
Modèle objet client Silverlight
Modèle objet client mobile
Modèle objet JavaScript
Service REST (Representational State Transfer)
Modèle objet serveur
Il est vivement recommandé d'utiliser des API clientes quand vous le pouvez pour le développement SharePoint. Les API clientes comprennent les modèles objet client, le modèle objet JavaScript et le service REST. Pour plus d’informations sur les API dans SharePoint et sur leur utilisation, voir Choisir l’ensemble d’API approprié dans SharePoint.
Chaque API inclut un objet gestionnaire que vous utilisez pour effectuer les tâches principales liées au flux. Le tableau 1 répertorie les objets gestionnaire et autres objets clés (ou ressources REST) inclus dans les API, ainsi que la bibliothèque de classes (ou URI de point de terminaison) où vous pouvez les trouver.
Notes
Les modèles objet client Silverlight et mobile ne sont pas mentionnés de manière explicite dans les tableaux 1 et 2, car ils fournissent les mêmes fonctionnalités de base que le modèle objet client .NET et utilisent les mêmes signatures. Le modèle objet client Silverlight est défini dans Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll et le modèle objet client mobile est défini dans Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tableau 1. API SharePoint utilisées pour utiliser des flux sociaux par programmation
API | Objets clés |
---|---|
Modèle objet client .NET Voir : Guide pratique pour créer et supprimer des publications et récupérer le flux social à l’aide du modèle objet client .NET dans SharePoint |
Objet Manager : SocialFeedManager Espace de noms principal : Microsoft.SharePoint.Client.Social Autres objets clés : SocialFeed , SocialThread , SocialPost , SocialPostCreationData , SocialFeedOptions , SocialActor Bibliothèque de classes : Microsoft.SharePoint.Client.UserProfiles.dll |
Modèle objet JavaScript Voir How to : Create and delete posts and retrieve the social feed by using the JavaScript object model in SharePoint |
Objet Manager : SocialFeedManager Espace de noms principal : SP. Social Autres objets clés : SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor Bibliothèque de classes : SP.UserProfiles.js |
Service REST Voir Guide pratique pour apprendre à lire et écrire dans le flux social à l’aide du service REST dans SharePoint |
Ressource du gestionnaire : social.feed (SocialRestFeedManager) Espace de noms principal (OData) : SP. Social Autres ressources clés : SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor Point d’accès : <siteUri>/_api/social.feed |
Modèle objet serveur Remarque : le code qui utilise le modèle objet serveur pour accéder aux données de flux et s’exécute à distance doit utiliser un objet SPServiceContextScope . |
Objet Manager : SPSocialFeedManager Espace de noms principal : Microsoft.Office.Server.Social Autres objets clés : SPSocialFeed , SPSocialThread , SPSocialPost , SPSocialFeedOptions , SPSocialActor Bibliothèque de classes : Microsoft.Office.Server.UserProfiles.dll |
Si vous utilisez le modèle objet serveur pour accéder au contenu du flux et que votre code n’est pas en cours d’exécution dans une instance SharePoint (en d’autres termes, si votre extension n’est pas installée dans le dossier LAYOUTS sur le serveur d’applications), utilisez un objet SPServiceContextScope dans votre code. L'exemple suivant illustre une des méthodes d'incorporation de l'objet SPServiceContextScope dans votre code.
using (SPSite site = new SPSite(<siteURL>))
{
using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
{
// code
}
}
Tâches de programmation courantes pour l’utilisation des flux sociaux dans SharePoint
Le tableau 2 répertorie les tâches de programmation courantes pour l'utilisation des flux sociaux, ainsi que les membres que vous utilisez pour cela. Les membres proviennent du modèle objet client .NET (CSOM), du modèle objet JavaScript (JSOM), du service REST et du modèle objet serveur (SSOM).
Tableau 2. API pour les tâches de programmation courantes pour l’utilisation des flux sociaux dans SharePoint
Tâche | Membres |
---|---|
Créer une instance de l'objet Gestionnaire dans le contexte de l'utilisateur actuel | CSOM : SocialFeedManager JSOM : SocialFeedManager REST : GET <siteUri>/_api/social.feed SSOM : SPSocialFeedManager |
Créer une instance d'objet Gestionnaire dans le contexte d'un utilisateur particulier | CSOM : non implémenté JSOM : non implémenté REST : non implémenté SSOM : SPSocialFeedManager |
Obtenir l'utilisateur pour le contexte actuel | CSOM : Propriétaire JSOM : owner REST : GET <siteUri>/_api/social.feed/my SSOM : Propriétaire |
Obtenir le flux de l'utilisateur actuel (spécifier le type de flux) |
CSOM : GetFeed JSOM : getFeed REST : GET <siteUri>/_api/social.feed/my/Feed (feed.md personnel), <siteUri>/_api/social.feed/my/News , <siteUri>/_api/social.feed/my/TimelineFeed ou <siteUri>/_api/social.feed/my/Likes SSOM : GetFeed |
Obtenir le flux personnel d'un utilisateur particulier | CSOM : GetFeedFor JSOM : getFeedFor REST : GET <siteUri>/_api/social.feed/actor(item='domain\\user')/Feed SSOM : GetFeedFor |
Accéder au flux de site d'un site d'équipe (spécifiez l’URL du flux de site en tant qu’acteur (exemple : http://< siteCollection>/<teamSite>/newsfeed.aspx)) |
CSOM : GetFeedFor JSOM : getFeedFor REST : GET <siteUri>/_api/social.feed/actor(item=@v)/Feed?@v='http://<siteCollection>/<teamSite>/newsfeed.aspx' SSOM : GetFeedFor |
Publier un billet racine pour le flux de l'utilisateur actuel (spécifier null pour la cible) |
CSOM : CreatePost JSOM : createPost REST : POST <siteUri>/_api/social.feed/my/Feed/Post et transmettre le paramètre restCreationData dans le corps de la demandeSSOM : CreatePost |
Publier un billet vers un flux de site (spécifiez l’URL du flux de site comme cible (exemple : http://< siteCollection>/teamSite>/newsfeed.aspx)) |
CSOM : CreatePost JSOM : createPost REST : POST <siteUri>/_api/social.feed/actor(item=@av)/feed/post/?@av='<teamSiteUri>/newsfeed.aspx' et transmettre le paramètre restCreationData dans le corps de la demande (spécifier null pour le paramètre ID)SSOM : CreatePost |
Publier une réponse à un billet (spécifier l'ID du fil de discussion cible) |
CSOM : CreatePost JSOM : createPost REST : POST <siteUri>/_api/social.feed/Post/Reply et transmettre le paramètre restCreationData dans le corps de la demandeSSOM : CreatePost |
Supprimer un billet, une réponse ou un fil de discussion du flux de l'utilisateur actuel (supprimer un billet racine supprime l'intégralité du discussion) | CSOM : DeletePost JSOM : deletePost REST : POST <siteUri>/_api/social.feed/Post/Delete et transmettre le paramètre ID dans le corps de la demandeSSOM : DeletePost |
Obtenir un fil de discussion (un billet racine et toutes ses réponses) à partir du flux d'un utilisateur | CSOM : GetFullThread JSOM : getFullThread REST : POST <siteUri>/_api/social.feed/Post et transmettre le paramètre ID dans le corps de la demandeSSOM : GetFullThread |
Faire en sorte qu'un utilisateur « aime » (ou « n'aime plus ») un billet ou une réponse | CSOM : LikePost ( UnlikePost ) JSOM : likePost ( unlikePost) REST : POST <siteUri>/_api/social.feed/Post/Like ( <siteUri>/_api/social.feed/Post/Unlike ) et passez le paramètre ID dans le corps de la demandeSSOM : LikePost ( UnlikePost ) |
Récupérer toutes les personnes ayant « aimé » un billet | CSOM : GetAllLikers JSOM : getAllLikers REST : POST <siteUri>/_api/social.feed/Post/Likers et transmettre le paramètre ID dans le corps de la demandeSSOM : GetAllLikers |
Obtenir les billets faisant référence à un utilisateur | CSOM : GetMentions JSOM : getMentions REST : GET <siteUri>/_api/social.feed/my/MentionFeed SSOM : GetMentions |
Obtenir le nombre de mentions Non lu de l'utilisateur actuel | CSOM : GetUnreadMentionCount JSOM : getUnreadMentionCount REST : GET <siteUri>/_api/social.feed/my/UnreadMentionCount SSOM : GetUnreadMentionCount |
Verrouiller (ou déverrouiller) un fil de discussion dans le flux de l'utilisateur actuel | CSOM : LockThread ( UnlockThread ) JSOM : lockThread ( unlockThread) REST : POST <siteUri>/_api/social.feed/Post/Lock ( <siteUri>/_api/social.feed/Post/Unlock ) et passez le paramètre ID dans le corps de la demandeSSOM : LockThread ( UnlockThread .md) |
Notes
La valeur d’espace réservé domaine\utilisateur dans l’exemple REST doit être remplacée par le nom de compte d’un utilisateur réel. Pour savoir comment transmettre un paramètre REST dans le corps d’une requête, consultez les exemples dans la référence API REST des flux sociaux.
SharePoint ne fournit pas d’API pour personnaliser directement la disposition ou le rendu des billets de microblog. SharePoint fournit uniquement les données et permet aux applications clientes inter-appareils et multiplateforme de définir des dispositions adaptées à leurs facteurs de forme et à leurs besoins. Dans le développement SharePoint, vous pouvez utiliser des remplacements JavaScript dans le rendu côté client, comme décrit dans Personnaliser un affichage de liste dans les compléments SharePoint à l’aide du rendu côté client.
Présentation des types de flux dans l’API Mon Site social
Les types de flux représentent des coupes de données de flux. Lorsque vous récupérez un flux de l'utilisateur actuel, vous pouvez spécifier un des types de flux suivants :
Personal contient les mises à jour et les billets générés par un utilisateur. Sur Site Mon site, ce flux est visible sur la page À propos de moi d'un utilisateur.
News contient les mises à jour et les billets générés par l'utilisateur actuel, ainsi que par les personnes et le contenu qu'il suit. Lorsque vous récupérez le type de flux News, utilisez l'option de tri ByModifiedTime pour obtenir les activités les plus récentes (mises en cache) des personnes suivies par l'utilisateur. Sur Site Mon site, ce flux est visible sur la page Échange de News d'un utilisateur.
Timeline contient les mises à jour et les billets générés par l'utilisateur actuel, ainsi que par les personnes et le contenu qu'il suit. Timeline est particulièrement utile lorsque vous souhaitez obtenir le flux de données d'un intervalle de temps spécifique ou effectuer un tri avec l'option ByCreatedTime (qui inclut le plus grand échantillon de personnes).
Likes contient des fils de discussion de référence avec une propriété PostReference qui représente un billet de l'utilisateur actuel a marqué avec l'attribut J'aime.
Everyone contient les fils de discussion provenant de l'ensemble de l'organisation de l'utilisateur actuel.
Les modèles objet Serveur, Client et JavaScript fournissent la méthode GetFeed que vous pouvez utiliser pour récupérer chaque type de flux de l'utilisateur actuel et la méthode GetFeedFor que vous pouvez utiliser pour extraire le type de flux Personal (uniquement) d'un utilisateur spécifié. Les deux méthodes utilisent un objet SocialFeedOptions en tant que paramètre, qui vous permet de spécifier l'ordre du tri en fonction du temps, de la plage de dates et du nombre maximal de fils de discussion à renvoyer.
Notes
Le service REST offre des ressources distinctes pour récupérer chaque type de flux, comme illustré dans le tableau 2.
Si un fil de discussion contient plus de deux réponses, le serveur renvoie un résumé du fil de discussion qui contient uniquement les deux réponses les plus récentes. (L’attribut de thread IsDigest est appliqué aux synthèses de thread.) Si vous souhaitez obtenir toutes les réponses d’un thread, appelez la méthode GetFullThread à partir de l’objet gestionnaire de flux et transmettez l’identificateur de thread.
Voir aussi
Articles conceptuels et pratiques
Mise en route du développement avec les fonctions sociales dans SharePoint
Comment lire et écrire dans le flux social en utilisant le service REST dans SharePoint
Comment incorporer des images, des vidéos et des documents dans les publications dans SharePoint
Threads de référence et threads de synthèse dans les flux sociaux SharePoint
Documentation de référence de l’API
Microsoft.SharePoint.Client.Social (modèle objet client)
Espace de noms SP.Social (modèle objet JavaScript)
Microsoft.Office.Server.Social (modèle objet Serveur)