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 SocialDataItem à des billets de microblog, qui s’affiche sous la mesure de mentions, de balises ou de liens dans SharePoint flux sociaux.
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 SocialDataItem objets à la propriété ContentItems de l'objet SocialPostCreationData qui définit le billet de blog. Billets peuvent contenir plusieurs liens.
Notes
[!REMARQUE] To add embedded pictures, videos, or documents to a post's content, you add a SocialAttachment object to the SocialPostCreationData.Attachment property. Pour plus d’informations, voir How to: Embed images, videos, and documents in posts in 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. Pour obtenir des liens vers la documentation pour les API connexes, reportez-vous à la section Ressources supplémentaires .
Conditions préalables à l’utilisation des exemples de code pour ajouter des liens à un billet 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 façon de configurer votre environnement de développement et de créer une application console, voir Comment : créer et supprimer des billets et récupérer le flux social à l’aide du modèle objet client .NETdans SharePoint .
Exemple : inclure des liens vers des sites web, SharePoint sites web et des documents dans un billet de 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éer 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 de lien à la propriété ContentItems de l'objet SocialPostCreationData qui est utilisée pour créer le billet de blog.
Notes
Actuellement, SharePoint gère les liens vers des sites web, des sites SharePoint et des documents de la même manière, mais en tant que meilleure pratique, choisissez le type de site et le type de document pour les sites SharePoint et les documents.
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.
Notes
[!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 un billet de SharePoint
L'exemple de code suivant publie un billet mentionnant un utilisateur. Il montre comment :
Créer un objet SocialDataItem pour représenter la mention, qui est un lien à 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.
Ajouter la SocialDataItem à la propriété ContentItems de l'objet SocialPostCreationData qui est utilisée pour créer le billet de blog.
Dans le flux sociaux, en cliquant sur la mention redirige vers sur la page la personne mentionnée.
Notes
[!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 un billet dans SharePoint
L'exemple de code suivant publie un billet qui inclut une balise. Il montre comment :
Créer 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.
Ajouter la SocialDataItem à la propriété ContentItems de l'objet SocialPostCreationData qui est utilisée pour créer le billet de blog.
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.
Notes
[!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