Incorporer des images, des vidéos et des documents dans les publications dans SharePoint
Découvrez comment ajouter des objets de SocialAttachment dans des billets de microblog, restituée sous forme d'images incorporées, des vidéos et des documents 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 documents, des vidéos et des images incorporées. Pour ce faire, vous utilisez la propriété Attachment sur l’objet SocialPostCreationData qui définit le billet. Billets peuvent contenir une pièce jointe, ce qui est représentée par un objet SocialAttachment .
Remarque
Pour ajouter une mention, une balise ou un lien au contenu d’un billet, vous ajoutez un objet SocialDataItem à la propriété SocialPostCreationData.ContentItems . Pour plus d’informations, voir Guide pratique pour inclure des mentions, des balises et des liens vers des sites et des documents dans des publications dans SharePoint.
L'API décrite dans cet article est à partir du modèle d'objet client .NET. Si vous utilisez un autre API, telles que le JavaScript du modèle objet, les noms d'objets ou l'API correspondante peut être différente. Consultez Ressources supplémentaires pour obtenir des liens vers la documentation des API associées.
Conditions requises pour utiliser les exemples de code pour ajouter des pièces jointes à un billet
Les exemples de code dans cet article indiquent comment ajouter une image, vidéo, et publie des pièces jointes au document pour microblog. Ces exemples sont à partir d'une application console qui utilise les assemblys SharePoint suivants :
Microsoft.SharePoint.Client
Microsoft.SharePoint.Client.Runtime
Microsoft.SharePoint.Client.UserProfilies
Pour utiliser les exemples de cet article, vous devez télécharger une image, une vidéo et un document. Pour utiliser l'exemple de vidéo, la fonctionnalité vidéo doit être activée sur le serveur et le fichier vidéo doit être stocké dans une bibliothèque de biens. Pour utiliser l'exemple de document dans un environnement local, Office Online doit être configuré dans l'environnement. Pour plus d’informations, voir Planifier les bibliothèques de ressources numériques dans SharePoint et Configurer SharePoint pour utiliser Office Online.
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 : Incorporer une image dans un billet dans SharePoint
L'exemple de code suivant publie un billet contenant une image incorporée. Il montre comment :
Créez un objet SocialAttachment qui représente l’image. Le SocialAttachment Spécifie le champ SocialAttachmentKind.Image et l'URI du fichier image.
Ajoutez l’objet image à la propriété Attachment de l’objet SocialPostCreationData utilisé pour créer la publication.
[!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 EmbedImageInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName/siteName/";
const string imageUrl = "http://serverName/Shared%20Documents/imageName.jpg";
// Define the image attachment that you want to embed in the post.
SocialAttachment attachment = new SocialAttachment()
{
AttachmentKind = SocialAttachmentKind.Image,
Uri = imageUrl
};
// Define properties for the post and add the attachment.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "Look at this!";
postCreationData.Attachment = attachment;
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();
}
}
}
}
Incorporer une vidéo dans un billet dans SharePoint
L'exemple de code suivant publie un billet contenant une vidéo incorporée. Il montre comment :
Obtenez l’objet SocialAttachment qui représente la pièce jointe vidéo à l’aide de la méthode SocialFeedManager.GetPreview .
Ajoutez la pièce jointe vidéo à la propriété Attachment de l’objet SocialPostCreationData utilisé pour créer la publication.
Cet exemple requiert les fonctionnalités vidéo pour être activé sur le serveur et le fichier vidéo d'être téléchargés depuis une bibliothèque de biens. Pour plus d’informations, consultez les conditions préalables à l’utilisation des exemples de code .
[!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 EmbedVideoInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName/siteName/";
const string videoUrl = "http://serverName/Asset%20Library/fileName?Web=1";
try
{
// Get the context and the SocialFeedManager instance.
ClientContext clientContext = new ClientContext(serverUrl);
SocialFeedManager feedManager = new SocialFeedManager(clientContext);
// Get the video attachment from the server.
ClientResult<SocialAttachment> attachment = feedManager.GetPreview(videoUrl);
clientContext.ExecuteQuery();
// Define properties for the post and add the attachment.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "Look at this!";
postCreationData.Attachment = attachment.Value;
// 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 : Incorporer un document dans une publication dans SharePoint
L'exemple de code suivant publie un billet contenant un document incorporé. Il montre comment :
Obtenez l’objet SocialAttachment qui représente la pièce jointe du document à l’aide de la méthode SocialFeedManager.GetPreview .
Ajoutez la pièce jointe du document à la propriété Attachment de l’objet SocialPostCreationData utilisé pour créer le billet.
To use this example in an on-premises environment, your environment must be configured to use Office Online. Pour plus d’informations, consultez les conditions préalables à l’utilisation des exemples de code . Sinon, vous pouvez publier un lien vers le document comme décrit dans Guide pratique pour inclure des mentions, des étiquettes et des liens vers des sites et des documents dans des publications dans SharePoint.
[!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 EmbedDocumentInPost
{
class Program
{
static void Main(string[] args)
{
// Replace the following placeholder values with the actual values.
const string serverUrl = "http://serverName";
const string documentUrl = "http://serverName/Shared%20Documents/fileName.docx";
try
{
// Get the context and the SocialFeedManager instance.
ClientContext clientContext = new ClientContext(serverUrl);
SocialFeedManager feedManager = new SocialFeedManager(clientContext);
// Get the document attachment from the server.
ClientResult<SocialAttachment> attachment = feedManager.GetPreview(documentUrl);
clientContext.ExecuteQuery();
// Define properties for the post and add the attachment.
SocialPostCreationData postCreationData = new SocialPostCreationData();
postCreationData.ContentText = "Post with a document.";
postCreationData.Attachment = attachment.Value;
// 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 SocialAttachment dans les modèles objet client
SocialPostCreationData et SocialAttachment dans le modèle d'objet JavaScript
SPSocialPostCreationData et SPSocialAttachment dans le modèle objet serveur