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:
Crie um objeto SocialAttachment que representa a imagem. O SocialAttachment Especifica o campo SocialAttachmentKind.Image e o URI do arquivo de imagem.
Adicione o objeto de imagem à propriedade Attachment do objeto SocialPostCreationData que é usado para criar a postagem.
[!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:
Obtenha o objeto SocialAttachment que representa o anexo de vídeo usando o método SocialFeedManager.GetPreview .
Adicione o anexo de vídeo à propriedade Attachment do objeto SocialPostCreationData que é usado para criar a postagem.
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:
Obtenha o objeto SocialAttachment que representa o anexo do documento usando o método SocialFeedManager.GetPreview .
Adicione o anexo do documento à propriedade Attachment do objeto SocialPostCreationData que é usado para criar a postagem.
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
Como incluir menções, marcas e links para sites e documentos em postagens no SharePoint
SocialPostCreationData e SocialAttachment nos modelos de objeto do cliente
SocialPostCreationData e SocialAttachment no modelo de objeto do JavaScript
SPSocialPostCreationData e SPSocialAttachment no modelo de objeto do servidor