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 proposées dans SharePoint et pour savoir quand les utiliser, 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 pour utiliser les flux sociaux via un programme
| API | Objets clés |
|---|---|
| Modèle objet client .NET Voir : Comment : créer et supprimer des messages et de récupérer le flux de mise en réseau à l'aide du modèle objet de client .NET en SharePoint |
Objet Gestionnaire : 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 Comment : créer et supprimer des publications et récupérer le flux social en utilisant le modèle d'objet JavaScript dans SharePoint |
Objet Gestionnaire : 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 Comment : en savoir plus lire et écrire dans le flux social en utilisant le service reste dans SharePoint |
Ressource 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 utilisant le modèle objet serveur pour accéder aux flux de données et s’exécuter à distance doit utiliser un objet SPServiceContextScope. |
Objet gestionnaire : 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 de SharePoint (autrement dit, si votre extension n'est pas installée dans le dossier de mises en page du 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 destinées aux 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 : Owner JSOM : owner REST : GET <siteUri>/_api/social.feed/my SSOM : Owner |
| 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 (flux personnel.md), <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 site de flux en tant qu'acteur (par exemple : http://<Collection_de_sites>/<Site_d_équipe>/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 demande SSOM : CreatePost |
| Publier un billet vers un flux de site (spécifiez l'URL du site de flux en tant que cible (par exemple : http://<Collection_de_sites>/Site_d_équipe>/Échange_de_News.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 demande SSOM : 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 demande SSOM : 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 demande SSOM : 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 transmettre le paramètre ID dans le corps de la demande SSOM : 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 demande SSOM : 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 transmettre le paramètre ID dans le corps de la demande SSOM : LockThread (UnlockThread.md) |
Notes
La valeur de l’espace réservé domain\user 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 les remplacements JavaScript dans le rendu côté client, comme décrit dans Personnaliser le mode Liste dans les compléments pour 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 fil de discussion IsDigest est appliqué à ces résumés de fil de discussion. Si vous souhaitez obtenir toutes les réponses d'un fil de discussion, appelez la méthode GetFullThread à partir de l'objet Gestionnaire du flux, puis transmettez l'identificateur du fil de discussion.
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)