Inclure des mentions, des balises et des liens vers des sites et des documents dans des publications dans SharePoint
Découvrez comment ajouter des objets de SocialDataItem dans des billets de microblog, qui sont rendus mentions, des balises ou des liens dans les flux sociaux SharePoint.
Dans un flux de mise en réseau, la forme la plus simple de contenu de publication contienne du texte uniquement, mais vous pouvez également ajouter des liens renvoyant des mentions, des balises ou des liens vers des sites Web, des sites SharePoint et des documents. Pour ce faire, vous ajoutez des objets SocialDataItem à la propriété ContentItems de l’objet SocialPostCreationData qui définit le billet. Billets peuvent contenir plusieurs liens.
Remarque
Pour ajouter des images, vidéos ou documents incorporés au contenu d’un billet, vous ajoutez un objet SocialAttachment à la propriété SocialPostCreationData.Attachment . Pour plus d’informations, voir Guide pratique pour incorporer des images, des vidéos et des documents dans des publications dans SharePoint.
L'API décrite dans cet article est à partir du modèle d'objet client .NET. Toutefois, si vous utilisez un autre API, telles que la JavaScript modèle d'objet, les noms d'objets ou les API correspondante peut être différent. Consultez Ressources supplémentaires pour obtenir des liens vers la documentation des API associées.
Conditions préalables à l’utilisation des exemples de code pour ajouter des liens à une publication dans SharePoint
Les exemples de code dans cet article indiquent comment ajouter des liens vers des billets de microblog. Ces exemples sont des applications de console qui utilisent des assemblys SharePoint suivants :
Microsoft.SharePoint.Client
Microsoft.SharePoint.Client.Runtime
Microsoft.SharePoint.Client.UserProfilies
Pour obtenir des instructions sur la configuration de votre environnement de développement et la création d’une application console, voir How to: Create and delete posts and retrieve the social feed by using the .NET client object model in SharePoint.
Exemple : inclure des liens vers des sites web, des sites SharePoint et des documents dans une publication dans SharePoint
L'exemple de code suivant publie un billet contenant des liens vers un site Web, un site SharePoint et un document. Il montre comment :
Créez des objets SocialDataItem qui représentent les liens. Chaque instance définit le champ SocialDataItemType pour le type de lien, le texte affiché pour le lien et l'URI de lien.
Ajouter des espaces réservés au texte post pour indiquer où le texte du lien affichage doit apparaître.
Ajoutez les objets link à la propriété ContentItems de l’objet SocialPostCreationData utilisé pour créer le billet.
Remarque
Actuellement, SharePoint gère les liens vers les sites web, les sites SharePoint et les documents de la même façon, mais il est recommandé de choisir le type de site et le type de document pour les sites et documents SharePoint.
Dans le flux sociaux, en cliquant sur un lien vers un site Web, un site SharePoint ou un document s'ouvre l'élément dans une fenêtre de navigateur distincte.
Remarque
[!REMARQUE] Modifier les valeurs d'espace réservé pour les variables d'URL avant d'exécuter le code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;
namespace IncludeLinksInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName/siteName/";
const string websiteLinkUrl = "http://bing.com";
const string siteLinkUrl = "http://serverName/siteName/";
const string docLinkUrl = "http://serverName/Shared%20Documents/docName.txt";
// Define the link to a website that you want to include in the post.
SocialDataItem websiteLink = new SocialDataItem
{
ItemType = SocialDataItemType.Link,
Text = "link to a website",
Uri = websiteLinkUrl
};
// Define the link to a SharePoint site that you want to include in the post.
SocialDataItem siteLink = new SocialDataItem
{
ItemType = SocialDataItemType.Site,
Text = "link to a SharePoint site",
Uri = siteLinkUrl
};
// Define the link to a document that you want to include in the post.
SocialDataItem docLink = new SocialDataItem
{
ItemType = SocialDataItemType.Document,
Text = "link to a document",
Uri = docLinkUrl
};
// Add the links to the post's creation data.
// Put placeholders ({n}) where you want the links to appear in the post text,
// and then add the links to the post's content items.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "Check out this {0}, {1}, and {2}.";
postCreationData.ContentItems = new SocialDataItem[3] {
websiteLink,
siteLink,
docLink
};
try
{
// Get the context and the SocialFeedManager instance.
ClientContext clientContext = new ClientContext(serverUrl);
SocialFeedManager feedManager = new SocialFeedManager(clientContext);
// Publish the post. This is a root post to the user's feed, so specify
// null for the targetId parameter.
feedManager.CreatePost(null, postCreationData);
clientContext.ExecuteQuery();
Console.Write("The post was published.");
Console.ReadLine();
}
catch (Exception ex)
{
Console.Write("Error publishing the post: " + ex.Message);
Console.ReadLine();
}
}
}
}
Exemple : mentionner une personne dans une publication dans SharePoint
L'exemple de code suivant publie un billet mentionnant un utilisateur. Il montre comment :
Créez un objet SocialDataItem pour représenter une mention, qui est un lien vers un utilisateur. Le SocialDataItem Spécifie le champ SocialDataItemType.User et le nom de compte de la personne mentionné. Vous pouvez définir le nom du compte en utilisant le compte de connexion de la personne ou adresse de messagerie.
Ajouter un espace réservé au texte post pour indiquer où le nom complet de la personne mentionné doit apparaître.
Ajoutez l’objet SocialDataItem à la propriété ContentItems de l’objet SocialPostCreationData utilisé pour créer le billet.
Dans le flux sociaux, en cliquant sur la mention redirige vers sur la page la personne mentionnée.
Remarque
[!REMARQUE] Modifier les valeurs d'espace réservé pour les variables serverURL et accountName avant d'exécuter le code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;
namespace IncludeMentionInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName/siteName/";
const string accountName = @"domain\\name or email address";
// Define the mention link that you want to include in the post.
SocialDataItem userMentionLink = new SocialDataItem
{
ItemType = SocialDataItemType.User,
AccountName = accountName
};
// Add the mention to the post's creation data.
// Put a placeholder ({0}) where you want the mention to appear in the post text,
// and then add the mention to the post's content items.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "{0} does great work!";
postCreationData.ContentItems = new SocialDataItem[1] { userMentionLink, };
try
{
// Get the context and the SocialFeedManager instance.
ClientContext clientContext = new ClientContext(serverUrl);
SocialFeedManager feedManager = new SocialFeedManager(clientContext);
// Publish the post. This is a root post to the user's feed, so specify
// null for the targetId parameter.
feedManager.CreatePost(null, postCreationData);
clientContext.ExecuteQuery();
Console.Write("The post was published.");
Console.ReadLine();
}
catch (Exception ex)
{
Console.Write("Error publishing the post: " + ex.Message);
Console.ReadLine();
}
}
}
}
Exemple : Inclure une balise dans une publication dans SharePoint
L'exemple de code suivant publie un billet qui inclut une balise. Il montre comment :
Créez un objet SocialDataItem pour représenter la balise. Le SocialDataItem Spécifie le champ SocialDataItemType.Tag et le nom de la balise, qui doit inclure un caractère #.
Ajouter un espace réservé au texte post pour indiquer où la balise doit apparaître.
Ajoutez l’objet SocialDataItem à la propriété ContentItems de l’objet SocialPostCreationData utilisé pour créer le billet.
Dans le flux sociaux, en cliquant sur une balise redirige vers la page à propos de la balise. Si la balise n'existe pas déjà, le serveur crée.
Remarque
[!REMARQUE] Modifier les valeurs d'espace réservé pour les variables serverURL et tagName avant d'exécuter le code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;
namespace IncludeTagInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName/siteName/";
const string tagName = "#" + "tagName";
// Define the link to a tag that you want to include in the post. If the tag is new, the
// server adds it to the tags collection.
SocialDataItem tagLink = new SocialDataItem
{
ItemType = SocialDataItemType.Tag,
Text = tagName
};
// Add the tag to the post's creation data.
// Put a placeholder ({0}) where you want the tag to appear in the post text,
// and then add the tag to the post's content items.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "I like {0}.";
postCreationData.ContentItems = new SocialDataItem[1] { tagLink };
try
{
// Get the context and the SocialFeedManager instance.
ClientContext clientContext = new ClientContext(serverUrl);
SocialFeedManager feedManager = new SocialFeedManager(clientContext);
// Publish the post. This is a root post to the user's feed, so specify
// null for the targetId parameter.
feedManager.CreatePost(null, postCreationData);
clientContext.ExecuteQuery();
Console.Write("The post was published.");
Console.ReadLine();
}
catch (Exception ex)
{
Console.Write("Error publishing the post: " + ex.Message);
Console.ReadLine();
}
}
}
}
Voir aussi
SocialPostCreationData et SocialDataItem dans les modèles objet client
SocialPostCreationData et SocialDataItem dans le modèle d'objet JavaScript
SPSocialPostCreationData et SPSocialDataItem dans le modèle objet serveur