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:
Erstellen Sie SocialDataItem-Objekte , die die Links darstellen. Jede Instanz wird das Feld SocialDataItemType für den Link, der Anzeigetext für den Link, und den Link URI festgelegt.
Hinzufügen von Platzhaltern für den Post-Text um anzugeben, wo Anzeigetext für den Link angezeigt werden soll.
Fügen Sie die Linkobjekte der ContentItems-Eigenschaft des SocialPostCreationData-Objekts hinzu, das zum Erstellen des Beitrags verwendet wird.
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:
Erstellen Sie ein SocialDataItem-Objekt , um eine Erwähnung darzustellen, bei der es sich um einen Link zu einem Benutzer handelt. Die SocialDataItem gibt das SocialDataItemType.User -Feld und die weiter oben erwähnt Person Kontonamen. Sie können den Kontonamen mithilfe der Anmeldename der Person oder e-Mail-Adresse festlegen.
Hinzufügen eines Platzhalters für den Post-Text um anzugeben, wo der weiter oben erwähnt Person Anzeigename angezeigt werden soll.
Fügen Sie das SocialDataItem-Objekt der ContentItems-Eigenschaft des SocialPostCreationData-Objekts hinzu, das zum Erstellen des Beitrags verwendet wird.
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:
Erstellen Sie ein SocialDataItem-Objekt , um das Tag darzustellen. Die SocialDataItem gibt das Feld SocialDataItemType.Tag und der Tagname, die ein # Zeichen enthalten muss.
Hinzufügen eines Platzhalters für den Post-Text um anzugeben, wo das Tag angezeigt werden soll.
Fügen Sie das SocialDataItem-Objekt der ContentItems-Eigenschaft des SocialPostCreationData-Objekts hinzu, das zum Erstellen des Beitrags verwendet wird.
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
SocialPostCreationData und SocialDataItem in die Clientobjektmodelle
SocialPostCreationData und SocialDataItem im JavaScript-Objektmodell
SPSocialPostCreationData und SPSocialDataItem im Server-Objektmodell