Как внедрять в записи изображения, видео и документы в SharePoint
Узнайте, как добавлять в записи микроблога объекты SocialAttachment, которые обрабатываются в веб-каналах социальных медиа SharePoint как внедренные рисунки, видео и документы.
В это социальные веб-канал простейшей формой post контента содержит только текст, но также можно добавить внедренные изображения, видео и документы. Для этого используйте свойство Attachment в объекте SocialPostCreationData , который определяет запись. Публикации о может содержать одно вложение, что представленный объектом SocialAttachment .
Примечание.
Чтобы добавить упоминание, тег или ссылку на содержимое публикации, добавьте объект SocialDataItem в свойство SocialPostCreationData.ContentItems . Дополнительные сведения см. в разделе Практическое руководство. Включение упоминаний, тегов и ссылок на сайты и документы в сообщениях в SharePoint.
API, описанных в этой статье от клиентской объектной модели .NET. Если вы используете другой API, такие как JavaScript объектной модели, имена объектов или соответствующий интерфейс API может отличаться. Ссылки на документацию по связанным API см. в разделе Дополнительные ресурсы .
Необходимые условия для использования примеров кода для добавления вложений на публикацию
Примеры кода в этой статье демонстрируется добавление изображения, видео и отправляет документ вложения на микроблога. В этих примерах: от консольного приложения, использующего следующие сборки SharePoint:
Microsoft.SharePoint.Client;
Microsoft.SharePoint.Client.Runtime
Microsoft.SharePoint.Client.UserProfilies
Для использования примеров, описанных в этой статье, необходимо загрузить изображение, видео и документа. Для использования примеров видео на сервере должна быть включена возможность видео и видео файлов должны храниться в библиотеки активов. Чтобы использовать пример документов в локальной среде, необходимо настроить Office Online в среде. Дополнительные сведения см. в разделах Планирование библиотек цифровых ресурсов в SharePoint и Настройка SharePoint для использования Office Online.
Инструкции по настройке среды разработки и созданию консольного приложения см. в статье Практическое руководство. Создание и удаление записей и получение веб-канала социальных сетей с помощью клиентской объектной модели .NET в SharePoint.
Пример. Внедрение изображения в публикацию в SharePoint
В следующем примере кода публикует сообщение, содержащее встроенное изображение. В нем показано, как:
Создайте объект SocialAttachment , представляющий изображение. SocialAttachment указывает поле SocialAttachmentKind.Image и URI файла изображения.
Добавьте объект image в свойство Attachment объекта SocialPostCreationData , используемого для создания записи.
[!Примечание] Изменение значений заполнитель для переменных URL-адрес, прежде чем запускать код.
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();
}
}
}
}
Внедрение видео в публикацию в SharePoint
В следующем примере кода публикует сообщение, содержащее внедренным видео. В нем показано, как:
Получите объект SocialAttachment , представляющий вложение видео, с помощью метода SocialFeedManager.GetPreview .
Добавьте вложение видео в свойство Attachment объекта SocialPostCreationData , используемого для создания записи.
В этом примере требуется функции видео, чтобы включить на сервер и файл видео, чтобы передать на библиотеки активов. Дополнительные сведения см. в предварительных требованиях для использования примеров кода .
[!Примечание] Изменение значений заполнитель для переменных URL-адрес, прежде чем запускать код.
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();
}
}
}
}
Пример. Внедрение документа в публикацию в SharePoint
В следующем примере кода публикует сообщение, содержащее внедренным документом. В нем показано, как:
Получите объект SocialAttachment , представляющий вложение документа, с помощью метода SocialFeedManager.GetPreview .
Добавьте вложение документа в свойство Attachment объекта SocialPostCreationData , используемого для создания записи.
Для использования в этом примере в локальной среде, необходимо настроить среду для использования Office Online. Дополнительные сведения см. в предварительных требованиях для использования примеров кода . В противном случае можно опубликовать ссылку на документ, как описано в разделе Практическое руководство. Включение упоминаний, тегов и ссылок на сайты и документы в сообщениях в SharePoint.
[!Примечание] Изменение значений заполнитель для переменных URL-адрес, прежде чем запускать код.
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();
}
}
}
}
См. также
SocialPostCreationData и SocialAttachment в клиентской объектной модели
SocialPostCreationData и SocialAttachment в объектной модели JavaScript
Справочные материалы по REST API каналов социальных сетей для SharePoint
SPSocialPostCreationData и SPSocialAttachment в серверной объектной модели