Freigeben über


Einschließen von Erwähnungen, Tags und Links zu Websites und Dokumenten in Beiträgen in SharePoint

In diesem Artikel erfahren Sie, wie Sie Mikroblogbeiträgen SocialDataItem-Objekte hinzufügen, die als Erwähnungen, Tags oder Links 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 Links, die als erwähnungen, Tags oder Links zu Websites, SharePoint-Websites und Dokumenten Rendern hinzufügen. Dazu fügen Sie SocialDataItem-Objekte zur ContentItems-Eigenschaft des SocialPostCreationData-Objekts hinzu, das den Beitrag definiert. Beiträge können mehrere Links enthalten.

Hinweis

Um dem Inhalt eines Beitrags eingebettete Bilder, Videos oder Dokumente hinzuzufügen, fügen Sie der SocialPostCreationData.Attachment-Eigenschaft ein SocialAttachment-Objekt hinzu. Weitere Informationen finden Sie unter Vorgehensweise: Einbetten von Bildern, Videos und Dokumenten in Beiträgen in SharePoint.

Die in diesem Artikel beschriebene API hat ihren Ursprung des Clientobjektmodells .NET. Jedoch, wenn Sie eine andere API verwenden, möglicherweise wie 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 .

Voraussetzungen für die Verwendung der Codebeispiele zum Hinzufügen von Links zu einem Beitrag in SharePoint

Die Codebeispiele in diesem Artikel zeigen, wie Links Microblog Beiträge hinzugefügt. In diesen Beispielen werden von konsolenanwendungen, die die folgenden SharePoint-Assemblys verwenden:

  • Microsoft.SharePoint.Client

  • Microsoft.SharePoint.Client.Runtime

  • Microsoft.SharePoint.Client.UserProfilies

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: Einschließen von Links zu Websites, SharePoint-Websites und Dokumenten in einem Beitrag in SharePoint

Im folgenden Codebeispiel wird veröffentlicht einen Beitrag, der Links zu einer Website und einer SharePoint-Website zu einem Dokument enthält. Außerdem wird gezeigt, wie Sie:

Hinweis

Derzeit behandelt SharePoint Links zu Websites, SharePoint-Websites und Dokumenten auf die gleiche Weise, aber als bewährte Methode wählen Sie den Websitetyp und den Dokumenttyp für SharePoint-Websites und -Dokumente aus.

In den Feed für soziale Netzwerke wird das Element in einem separaten Browserfenster geöffnet, wenn Sie auf den Link auf eine Website, eine SharePoint-Website oder ein Dokument.

Hinweis

Ä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 IncludeLinksInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string websiteLinkUrl = "http://bing.com";
            const string siteLinkUrl = "http://serverName/siteName/";
            const string docLinkUrl = "http://serverName/Shared%20Documents/docName.txt";

            // Define the link to a website that you want to include in the post.
            SocialDataItem websiteLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Link,
                Text = "link to a website",
                Uri = websiteLinkUrl
            };

            // Define the link to a SharePoint site that you want to include in the post.
            SocialDataItem siteLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Site,
                Text = "link to a SharePoint site",
                Uri = siteLinkUrl
            };

            // Define the link to a document that you want to include in the post.
            SocialDataItem docLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Document,
                Text = "link to a document",
                Uri = docLinkUrl
            };

            // Add the links to the post's creation data.
            // Put placeholders ({n}) where you want the links to appear in the post text,
            // and then add the links to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "Check out this {0}, {1}, and {2}.";
            postCreationData.ContentItems = new SocialDataItem[3] {
                    websiteLink,
                    siteLink,
                    docLink
                };
            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();
            }
        }
    }
}

Beispiel: Erwähnen einer Person in einem Beitrag in SharePoint

Im folgenden Codebeispiel wird veröffentlicht einen Beitrag, der einen Benutzer erwähnt. Außerdem wird gezeigt, wie Sie:

In den Feed für soziale Netzwerke leitet durch Klicken auf einen Hinweis auf die weiter oben erwähnt Person zur Seite.

Hinweis

Ändern Sie die Platzhalterwerte für die Variablen serverURL und accountName 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 IncludeMentionInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string accountName = @"domain\\name or email address";

            // Define the mention link that you want to include in the post.
            SocialDataItem userMentionLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.User,
                AccountName = accountName
            };

            // Add the mention to the post's creation data.
            // Put a placeholder ({0}) where you want the mention to appear in the post text,
            // and then add the mention to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "{0} does great work!";
            postCreationData.ContentItems = new SocialDataItem[1] { userMentionLink, };

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

Beispiel: Einschließen eines Tags in einem Beitrag in SharePoint

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

In den Feed für soziale Netzwerke leitet durch Klicken auf ein Tag zu dem Tag zur Seite. Wenn das Tag nicht bereits vorhanden ist, der Server wird erstellt.

Hinweis

Ändern Sie die Platzhalterwerte für die Variablen serverURL und tagName 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 IncludeTagInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string tagName = "#" + "tagName";

            // Define the link to a tag that you want to include in the post. If the tag is new, the
            // server adds it to the tags collection.
            SocialDataItem tagLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Tag,
                Text = tagName
            };

            // Add the tag to the post's creation data.
            // Put a placeholder ({0}) where you want the tag to appear in the post text,
            // and then add the tag to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "I like {0}.";
            postCreationData.ContentItems = new SocialDataItem[1] { tagLink };

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

Siehe auch