Arbeiten mit sozialen Feeds in SharePoint
Hier erhalten Sie Informationen zu allgemeinen Programmierungsaufgaben zum Arbeiten mit sozialen Feeds und Mikroblogbeiträgen in SharePoint.
APIs zum Arbeiten mit sozialen Feeds in SharePoint
In lokalen SharePoint-Serverfarmen sollen interaktive Feeds Personen dazu ermutigen, Informationen zu teilen und mit Personen und Inhalten in Verbindung zu bleiben. Sie können viele der Features für soziale Medien auf der Newsfeed-Seite der persönlichen Website eines Benutzers sehen. Feeds enthalten Sammlungen von Threads mit Mikroblogeinträgen, Unterhaltungen, Statusaktualisierungen und anderen Benachrichtigungen.
SharePoint bietet die folgenden APIs, die Sie zum programmgesteuerten Arbeiten mit sozialen Feeds verwenden können:
Clientobjektmodelle für verwalteten Code
.NET-Clientobjektmodell
Silverlight-Clientobjektmodell
Mobiles Clientobjektmodell
JavaScript-Objektmodell
REST (Representational State Transfer)-Dienst
Serverobjektmodell
In der SharePoint-Entwicklung wird empfohlen, so oft wie möglich Client-APIs zu verwenden. Client-APIs umfassen Clientobjektmodelle, das JavaScript-Objektmodell und den REST-Dienst. Weitere Informationen zu den APIs in SharePoint und zu deren Verwendung finden Sie unter Auswählen des richtigen API-Satzes in SharePoint.
Jede API umfasst ein Manager-Objekt, mit dem Sie zentrale feedbezogene Aufgaben ausführen können. In Tabelle 1 sind das Manager-Objekt und weitere Schlüsselobjekte (oder REST-Ressourcen) der APIs sowie die Klassenbibliothek aufgeführt, in der Sie diese finden.
Hinweis
Die Silverlight- und mobile Clientobjektmodelle werden in Tabelle 1 und Tabelle 2 nicht aufgeführt, da sie die gleichen Kernfunktionen wie das .NET-Clientobjektmodell bieten und die gleichen Signaturen verwenden. Das Silverlight-Clientobjektmodell ist in Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll definiert und das mobile Clientobjektmodell in Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tabelle 1. SharePoint-APIs, die für die programmgesteuerte Arbeit mit Sozialen Feeds verwendet werden
API | Schlüsselobjekte |
---|---|
.NET-Clientobjektmodell Weitere Informationen finden Sie unter Vorgehensweise: Erstellen und Löschen von Beiträgen und Abrufen des Social Media-Feeds mithilfe des .NET-Clientobjektmodells in SharePoint |
Manager-Objekt: SocialFeedManager Primärer Namespace: Microsoft.SharePoint.Client.Social Weitere Schlüsselobjekte: SocialFeed , SocialThread , SocialPost , SocialPostCreationData , SocialFeedOptions , SocialActor Klassenbibliothek: Microsoft.SharePoint.Client.UserProfiles.dll |
JavaScript-Objektmodell Siehe Vorgehensweise: Erstellen und Löschen von Beiträgen und Abrufen des Social Media-Feeds mithilfe des JavaScript-Objektmodells in SharePoint |
Manager-Objekt: SocialFeedManager Primärer Namespace: SP.Social Andere Schlüsselobjekte: SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor Klassenbibliothek: SP.UserProfiles.js |
REST-Dienst Weitere Informationen finden Sie unter How to: Learn to read and write to the social feed by using the REST service in SharePoint |
Manager-Ressource: social.feed (SocialRestFeedManager) Primärer Namespace (OData): SP. Sozial Weitere wichtige Ressourcen: SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor Zugriffspunkt: <siteUri>/_api/social.feed |
Serverobjektmodell Hinweis: Code, der das Serverobjektmodell für den Zugriff auf Feeddaten verwendet und remote ausgeführt wird, muss ein SPServiceContextScope-Objekt verwenden. |
Manager-Objekt: SPSocialFeedManager Primärer Namespace: Microsoft.Office.Server.Social Andere Schlüsselobjekte: SPSocialFeed , SPSocialThread , SPSocialPost , SPSocialFeedOptions , SPSocialActor Klassenbibliothek: Microsoft.Office.Server.UserProfiles.dll |
Wenn Sie das Serverobjektmodell für den Zugriff auf Feedinhalte verwenden und Ihr Code nicht in einer SharePoint-Instanz ausgeführt wird (d. h. wenn Ihre Erweiterung nicht im Ordner LAYOUTS auf dem Anwendungsserver installiert ist), verwenden Sie ein SPServiceContextScope-Objekt in Ihrem Code. Das folgende Codebeispiel zeigt eine Möglichkeit zum Integrieren des SPServiceContextScope-Objekts in Ihren Code.
using (SPSite site = new SPSite(<siteURL>))
{
using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
{
// code
}
}
Allgemeine Programmierungsaufgaben für das Arbeiten mit sozialen Feeds in SharePoint
Tabelle 2 zeigt allgemeine Programmierungsaufgaben für das Arbeiten mit sozialen Feeds sowie die Elemente, die Sie zur Ausführung verwenden. Die Elemente stammen aus dem .NET-Clientobjektmodell (CSOM), dem JavaScript-Objektmodell (JSOM), dem REST-Dienst und dem Serverobjektmodell (SSOM).
Tabelle 2. API für allgemeine Programmieraufgaben für die Arbeit mit sozialen Feeds in SharePoint
Aufgabe | Elemente |
---|---|
Erstellen einer Instanz des Manager-Objekts im Kontext des aktuellen Benutzers | CSOM: SocialFeedManager JSOM: SocialFeedManager REST: GET <siteUri>/_api/social.feed SSOM: SPSocialFeedManager |
Erstellen einer Instanz des Manager-Objekts im Kontext eines bestimmten Benutzers | CSOM: nicht implementiert JSOM: nicht implementiert REST: nicht implementiert SSOM: SPSocialFeedManager |
Abrufen des Benutzern für den aktuellen Kontext | CSOM: Besitzer JSOM: owner REST: GET <siteUri>/_api/social.feed/my SSOM: Besitzer |
Abrufen des Feeds für den aktuellen Benutzer (Angeben des Feedtyps) |
CSOM: GetFeed JSOM: getFeed REST: GET <siteUri>/_api/social.feed/my/Feed (persönliche feed.md), <siteUri>/_api/social.feed/my/News , <siteUri>/_api/social.feed/my/TimelineFeed oder <siteUri>/_api/social.feed/my/Likes SSOM: GetFeed |
Abrufen des persönlichen Feeds für einen bestimmten Benutzer | CSOM: GetFeedFor JSOM: getFeedFor REST: GET <siteUri>/_api/social.feed/actor(item='domain\\user')/Feed SSOM: GetFeedFor |
Abrufen des Websitefeeds für eine Teamwebsite (Geben Sie die URL des Websitefeeds als Akteur an (Beispiel: http://< siteCollection>/<teamSite>/newsfeed.aspx)) |
CSOM: GetFeedFor JSOM: getFeedFor REST: GET <siteUri>/_api/social.feed/actor(item=@v)/Feed?@v='http://<siteCollection>/<teamSite>/newsfeed.aspx' SSOM: GetFeedFor |
Veröffentlichen eines Stammbeitrags im Feed des aktuellen Benutzers (Angeben von null für das Ziel) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/my/Feed/Post und Übergeben des Parameters restCreationData im Text der AnforderungSSOM: CreatePost |
Veröffentlichen eines Beitrags im Websitefeed (Geben Sie die URL des Websitefeeds als Ziel an (Beispiel: http://< siteCollection>/teamSite>/newsfeed.aspx)) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/actor(item=@av)/feed/post/?@av='<teamSiteUri>/newsfeed.aspx' und Übergeben des Parameters restCreationData im Text der Anforderung (null für den Parameter ID angeben)SSOM: CreatePost |
Veröffentlichen einer Antwort auf einen Beitrag (Angeben der ID des Zielthreads) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/Post/Reply und Übergeben des Parameters restCreationData im Text der AnforderungSSOM: CreatePost |
Löschen eines Beitrags, einer Antwort oder eines Threads im Feed des aktuellen Benutzers (durch Löschen eines Stammbeitrags wird der gesamte Thread gelöscht) | CSOM: DeletePost JSOM: deletePost REST: POST <siteUri>/_api/social.feed/Post/Delete und Übergeben des Parameters ID im Text der AnforderungSSOM: DeletePost |
Abrufen eines Threads (eines Stammbeitrags und allen dazugehörigen Antworten) aus dem Feed des Benutzers | CSOM: GetFullThread JSOM: getFullThread REST: POST <siteUri>/_api/social.feed/Post und Übergeben des Parameters ID im Text der AnforderungSSOM: GetFullThread |
Markieren eines Beitrags oder einer Antwort des Benutzers mit „Gefällt mir" („Gefällt mir nicht mehr") | CSOM: LikePost ( UnlikePost ) JSOM: likePost ( im GegensatzPost) REST: POST <siteUri>/_api/social.feed/Post/Like ( <siteUri>/_api/social.feed/Post/Unlike ) und übergeben den ID-Parameter im AnforderungstextSSOM: LikePost ( UnlikePost ) |
Abrufen aller Personen, denen ein Beitrag gefällt | CSOM: GetAllLikers JSOM: getAllLikers REST: POST <siteUri>/_api/social.feed/Post/Likers und Übergeben des Parameters ID im Text der AnforderungSSOM: GetAllLikers |
Abrufen der Beitrage, in denen ein Benutzer erwähnt wird | CSOM: GetMentions JSOM: getMentions REST: GET <siteUri>/_api/social.feed/my/MentionFeed SSOM: GetMentions |
Abrufen der Anzahl ungelesener Erwähnungen für den aktuellen Benutzer | CSOM: GetUnreadMentionCount JSOM: getUnreadMentionCount REST: GET <siteUri>/_api/social.feed/my/UnreadMentionCount SSOM: GetUnreadMentionCount |
Sperren (Entsperren) eines Threads im Feed des aktuellen Benutzers | CSOM: LockThread ( UnlockThread ) JSOM: lockThread ( unlockThread) REST: POST <siteUri>/_api/social.feed/Post/Lock ( <siteUri>/_api/social.feed/Post/Unlock ) und übergeben den ID-Parameter im AnforderungstextSSOM: LockThread ( UnlockThread .md) |
Hinweis
Der Platzhalterwert domäne\benutzer im REST-Beispiel sollte durch den Kontonamen eines tatsächlichen Benutzers ersetzt werden. Um zu erfahren, wie Sie einen REST-Parameter in einem Anforderungstext übergeben, sehen Sie sich die Beispiele in der REST-API-Referenz für soziale Netzwerke an.
SharePoint bietet keine API zur Anpassung des Layouts oder für das direkte Rendering von Mikroblogbeiträgen an. SharePoint bietet nur die Daten an und ermöglicht es plattformübergreifenden und geräteübergreifenden Clientanwendungen, Layouts zu definieren, die für die entsprechenden Formularfaktoren und deren Anforderungen geeignet sind. In der SharePoint-Entwicklung können Sie JavaScript-Außerkraftsetzungen beim clientseitigen Rendering verwenden, wie unter Anpassen einer Listenansicht in SharePoint-Add-Ins mithilfe von clientseitigem Rendering beschrieben.
Übersicht über die Feedtypen in der Meine Website-API für soziale Netzwerke
Feedtypen stellen Feeddatenausschnitte dar. Beim Abrufen eines Feeds für den aktuellen Benutzer können Sie einen der folgenden Feedtypen angeben:
Personal enthält die von einem Benutzer generierten Beiträge und Aktualisierungen. Auf Meine Website wird dieser Feed auf der Seite Über mich des Benutzers angezeigt.
News enthält die generierten Beiträge und Aktualisierungen des aktuellen Benutzers sowie der Personen und Inhalte, denen der Benutzer folgt. Verwenden Sie beim Abrufen des News-Feedtyps die Option ByModifiedTime für die Sortierreihenfolge, um die aktuellen (zwischengespeicherten) Aktivitäten der Personen abzurufen, denen der Benutzer folgt. Auf Meine Website wird dieser Feed auf der Seite Newsfeed des Benutzers angezeigt.
Timeline enthält die generierten Beiträge und Aktualisierungen des aktuellen Benutzers sowie der Personen und Inhalte, denen der Benutzer folgt. Die Verwendung von Timeline ist vor allem sinnvoll, wenn Sie Feeddaten eines bestimmten Zeitraums abrufen oder anhand der Option ByCreatedTime (die das größte Sampling von Personen umfasst) sortieren möchten.
Likes enthält Referenzthreads mit einer PostReference-Eigenschaft, die einen Beitrag darstellt, den der aktuelle Benutzer mit dem Attribut Gefällt mir gekennzeichnet hat.
Everyone enthält die Threads der gesamten Organisation des aktuellen Benutzers.
Die Server-, Client und JavaScript-Objektmodelle ermöglichen die Verwendung der GetFeed-Methode ,mit der Sie jeden Feedtyp für den aktuellen Benutzer abrufen können, sowie die Verwendung der GetFeedFor-Methode, mit der Sie (nur) den Feedtyp Personal für einen bestimmten Benutzer abrufen können. Bei beiden Methoden wird ein SocialFeedOptions-Objekt als Parameter verwendet, mit dem Sie die zeitbasierte Sortierreihenfolge, den Datumsbereich und die maximale Anzahl der zurückzugebenden Threads angeben können.
Hinweis
Der REST-Dienst stellt separate Ressourcen zum Abrufen der einzelnen Feedtypen bereit (siehe Tabelle 2).
Wenn ein Thread mehr als zwei Antworten enthält, gibt der Server einen Digest des Threads zurück, der nur die letzten zwei Antworten enthält. (Auf Threaddigests wird das Threadattribut IsDigest angewendet.) Wenn Sie alle Antworten eines Threads abrufen möchten, müssen Sie die GetFullThread-Methode für das Feed-Manager-Objekt aufrufen und die Thread-ID übergeben.
Siehe auch
Artikel zu Konzepten und Gewusst-wie-Artikel
Erste Schritte bei der Entwicklung mit thematischen Features in SharePoint
Vorgehensweise: Lesen und Schreiben des sozialen Feeds mithilfe des REST-Diensts in SharePoint
Vorgehensweise: Einbetten von Bildern, Videos und Dokumenten in Beiträgen in SharePoint
Referenzthreads und Digest-Threads in sozialen Feeds für SharePoint
API-Referenzdokumentation
Microsoft.SharePoint.Client.Social (Clientobjektmodell)
SP.Social namespace (JavaScript-Objektmodell)
Microsoft.Office.Server.Social (Serverobjektmodell)