Compartir a través de


Incrustar imágenes, videos y documentos en posts en SharePoint

Aprende a agregar objetos deSocialAttachmenta las publicaciones de micro blog, que se presentan como imágenes, vídeos y documentos incrustados en las fuentes sociales de SharePoint.

En una fuente social, la forma más sencilla de exponer contenido sólo contiene texto, pero también puede agregar vídeos, imágenes incrustadas y documentos. Para ello, use la propiedad Attachment en el objeto SocialPostCreationData que define la publicación. Entradas pueden contener un dato adjunto, que está representado por un objeto SocialAttachment .

Nota:

Para agregar una mención, etiqueta o vínculo al contenido de una publicación, agregue un objeto SocialDataItem a la propiedad SocialPostCreationData.ContentItems . Para obtener más información, vea Cómo: Incluir menciones, etiquetas y vínculos a sitios y documentos en publicaciones en SharePoint.

La API descrita en este artículo procede del modelo de objetos de cliente de .NET. Si usa otra API, como el modelo de objetos de JavaScript, los nombres de objeto o la API correspondiente podrían ser diferentes. Consulte Recursos adicionales para obtener vínculos a la documentación para las API relacionadas.

Requisitos previos para usar los ejemplos de código para agregar datos adjuntos a una entrada

Los ejemplos de código en este artículo muestran cómo agregar imagen, vídeo y, a continuación, entradas de documentos adjuntos a los microblogs. Estos ejemplos son desde una aplicación de consola que usa los siguientes ensamblados de SharePoint:

  • Microsoft.SharePoint.Client

  • Microsoft.SharePoint.Client.Runtime

  • Microsoft.SharePoint.Client.UserProfilies

Para usar los ejemplos de este artículo, deberá cargar una imagen, un vídeo y un documento. Para usar el ejemplo de vídeo, debe habilitarse la característica de vídeo en el servidor y el archivo de vídeo debe almacenarse en una biblioteca de activos. Para usar el ejemplo de documento en un entorno local, Office Online debe configurarse en el entorno. Para obtener más información, vea Planear bibliotecas de recursos digitales en SharePoint y Configurar SharePoint para usar Office Online.

Para obtener instrucciones sobre cómo configurar el entorno de desarrollo y crear una aplicación de consola, vea How to: Create and delete posts and retrieve the social feed by using the .NET client object model in SharePoint (Cómo: Crear y eliminar publicaciones y recuperar la fuente social mediante el modelo de objetos de cliente de .NET en SharePoint).

Ejemplo: Insertar una imagen en una publicación en SharePoint

En el ejemplo de código siguiente se publica una entrada de blog que contiene una imagen incrustada. Muestra cómo:

[!NOTA] Cambie los valores de marcador de posición para las variables de dirección URL antes de ejecutar el código.


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();
            }
        }
    }
}

Inserción de un vídeo en una publicación en SharePoint

En el ejemplo de código siguiente se publica una entrada de blog que contiene un vídeo incrustado. Muestra cómo:

En este ejemplo se requieren que las características de vídeo a habilitarse en el servidor y el archivo de vídeo para cargarse en una biblioteca de activos. Consulte los requisitos previos para usar los ejemplos de código para obtener más información.

[!NOTA] Cambie los valores de marcador de posición para las variables de dirección URL antes de ejecutar el código.


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();
            }
        }
    }
}

Ejemplo: Insertar un documento en una publicación en SharePoint

En el ejemplo de código siguiente se publica una entrada de blog que contiene un documento incrustado. Muestra cómo:

Para usar este ejemplo en un entorno local, su entorno debe configurarse para usar Office Online. Consulte los requisitos previos para usar los ejemplos de código para obtener más información. De lo contrario, puede publicar un vínculo al documento como se describe en Cómo: Incluir menciones, etiquetas y vínculos a sitios y documentos en publicaciones en SharePoint.

[!NOTA] Cambie los valores de marcador de posición para las variables de dirección URL antes de ejecutar el código.


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();
            }
        }
    }
}

Vea también