Einbetten von Bildern, Videos und Dokumenten in Beiträgen in SharePoint

In diesem Artikel erfahren Sie, wie Sie Mikroblogbeiträgen SocialAttachment-Objekte hinzufügen, die als eingebettete Bilder, Videos und Dokumente in sozialen Feeds für SharePoint gerendert werden.

In einem Feed für soziale Netzwerke die einfachste Form der Post-Inhalte nur Text enthält, aber Sie können auch die eingebetteten Grafiken, Videos und Dokumente hinzufügen. Dazu verwenden Sie die Attachment-Eigenschaft für das SocialPostCreationData-Objekt , das den Beitrag definiert. Beiträge können eine Anlage enthalten, die durch ein SocialAttachment -Objekt dargestellt wird.

Hinweis

Um eine Erwähnung, ein Tag oder einen Link zum Inhalt eines Beitrags hinzuzufügen, fügen Sie der SocialPostCreationData.ContentItems-Eigenschaft ein SocialDataItem-Objekt hinzu. Weitere Informationen finden Sie unter Vorgehensweise: Einschließen von Erwähnungen, Tags und Links zu Websites und Dokumenten in Beiträgen in SharePoint.

Die in diesem Artikel beschriebene API hat ihren Ursprung des Clientobjektmodells .NET. Wenn Sie eine andere API verwenden, kann beispielsweise die JavaScript-Objektmodell, den zu verwendenden Objektnamen oder die dazugehörige API abweichen. Links zur Dokumentation zu verwandten APIs finden Sie unter Zusätzliche Ressourcen .

Voraussetzung für die Verwendung der Codebeispiele zum Hinzufügen von Anlagen auf einen Beitrag

Die Codebeispiele in diesem Artikel wird gezeigt, wie hinzuzufügende Bild, video und Dokument Anlagen Microblog sendet. In diesen Beispielen werden über eine Konsolenanwendung, die die folgenden Assemblys SharePoint verwendet:

  • Microsoft.SharePoint.Client

  • Microsoft.SharePoint.Client.Runtime

  • Microsoft.SharePoint.Client.UserProfilies

Um die Beispiele in diesem Artikel zu verwenden, müssen Sie ein Bild, Video und ein Dokument hochladen. Das video Beispiel verwenden zu können, muss die Videofunktion auf dem Server aktiviert werden, und die Videodatei muss in einer Objektbibliothek gespeichert werden. Um das Dokumentbeispiel in einer lokalen Umgebung zu verwenden, muss Office Online in der Umgebung konfiguriert sein. Weitere Informationen finden Sie unter Planen digitaler Ressourcenbibliotheken in SharePoint und Konfigurieren von SharePoint für die Verwendung von Office Online.

Anweisungen zum Einrichten Ihrer Entwicklungsumgebung und zum Erstellen einer Konsolenanwendung finden Sie unter How to: Create and delete posts and retrieve the social feed by using the .NET client object model in SharePoint.

Beispiel: Einbetten eines Bilds in einen Beitrag in SharePoint

Im folgenden Codebeispiel wird veröffentlicht einen Beitrag, der ein eingebettetes Bild enthält. Außerdem wird gezeigt, wie Sie:

Ändern Sie die Platzhalterwerte für die URL-Variablen vor dem Ausführen des Codes.


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

Einbetten eines Videos in einem Beitrag in SharePoint

Im folgenden Codebeispiel wird veröffentlicht einen Beitrag, der ein eingebettetes Video enthält. Außerdem wird gezeigt, wie Sie:

Dieses Beispiel erfordert die Videofunktionen in einer Objektbibliothek hochgeladen werden auf dem Server und die Videodatei aktiviert werden soll. Weitere Informationen finden Sie in den Voraussetzungen für die Verwendung der Codebeispiele .

Ändern Sie die Platzhalterwerte für die URL-Variablen vor dem Ausführen des Codes.


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

Beispiel: Einbetten eines Dokuments in einem Beitrag in SharePoint

Im folgenden Codebeispiel wird veröffentlicht einen Beitrag, der ein eingebettetes Dokument enthält. Außerdem wird gezeigt, wie Sie:

Um in diesem Beispiel wird in einer lokalen Umgebung zu verwenden, muss Ihre Umgebung für die Verwendung von Office Online konfiguriert werden. Weitere Informationen finden Sie in den Voraussetzungen für die Verwendung der Codebeispiele . Andernfalls können Sie einen Link zum Dokument bereitstellen, wie unter Vorgehensweise: Einschließen von Erwähnungen, Tags und Links zu Websites und Dokumenten in Beiträgen in SharePoint beschrieben.

Ändern Sie die Platzhalterwerte für die URL-Variablen vor dem Ausführen des Codes.


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

Siehe auch