Partilhar via


Incorporar imagens, vídeos e documentos em postagens no SharePoint

Saiba como adicionar objetos SocialAttachment a postagens de microblog, que são renderizadas como imagens, vídeos e documentos incorporados em feeds sociais do SharePoint.

Em um feed social, o formulário mais simples do conteúdo de postagem contém apenas texto, mas você também pode adicionar documentos, vídeos e imagens incorporadas. Para fazer isso, use a propriedade Attachment no objeto SocialPostCreationData que define a postagem. Postagens podem conter um anexo, que é representado por um objeto SocialAttachment .

Observação

Para adicionar uma menção, marca ou link ao conteúdo de uma postagem, adicione um objeto SocialDataItem à propriedade SocialPostCreationData.ContentItems . Para obter mais informações, consulte Como incluir menções, marcas e links para sites e documentos em postagens no SharePoint.

A API descrita neste artigo é de modelo de objeto do cliente .NET. Se você estiver usando outro API, como o JavaScript do modelo de objeto, os nomes de objeto ou a API correspondente pode ser diferente. Consulte Recursos adicionais para links para documentação para APIs relacionadas.

Pré-requisitos para usar os exemplos de código para adicionar anexos a uma postagem

Os exemplos de código deste artigo mostram como adicionar imagem, vídeo e postagens de anexos de documento para microblog. Esses exemplos são de um aplicativo de console que usa os assemblies de SharePoint a seguir:

  • Microsoft.SharePoint.Client

  • Microsoft.SharePoint.Client.Runtime

  • Microsoft.SharePoint.Client.UserProfilies

Para usar os exemplos neste artigo, você precisará carregar uma imagem, um vídeo e um documento. Para usar o exemplo de vídeo, o recurso de vídeo deve ser habilitado no servidor e o arquivo de vídeo deve ser armazenado em uma biblioteca de ativos. Para usar o exemplo de documento em um ambiente local, Office Online deve ser configurado no ambiente. Para obter mais informações, consulte Planejar bibliotecas de ativos digitais no SharePoint e Configurar o SharePoint para usar o Office Online.

Para obter instruções sobre como configurar seu ambiente de desenvolvimento e criar um aplicativo de console, confira Como criar e excluir postagens e recuperar o feed social usando o modelo de objeto cliente .NET no SharePoint.

Exemplo: insira uma imagem em uma postagem no SharePoint

O exemplo de código a seguir publica uma postagem que contenha uma imagem inserida. Ele mostra como:

[!OBSERVAçãO] Altere os valores de espaço reservado para as variáveis de URL antes de executar o 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();
            }
        }
    }
}

Insira um vídeo em uma postagem no SharePoint

O exemplo de código a seguir publica uma postagem que contenha um vídeo incorporado. Ele mostra como:

Este exemplo requer os recursos de vídeo estejam habilitados no servidor e o arquivo de vídeo sejam carregados para uma biblioteca de ativos. Consulte os pré-requisitos para usar os exemplos de código para obter mais informações.

[!OBSERVAçãO] Altere os valores de espaço reservado para as variáveis de URL antes de executar o 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();
            }
        }
    }
}

Exemplo: insira um documento em uma postagem no SharePoint

O exemplo de código a seguir publica uma postagem que contenha um documento incorporado. Ele mostra como:

To use this example in an on-premises environment, your environment must be configured to use Office Online. Consulte os pré-requisitos para usar os exemplos de código para obter mais informações. Caso contrário, você pode postar um link para o documento, conforme descrito em Como: Incluir menções, marcas e links para sites e documentos em postagens no SharePoint.

[!OBSERVAçãO] Altere os valores de espaço reservado para as variáveis de URL antes de executar o 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();
            }
        }
    }
}

Confira também