Share via


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/TimelineFeedoder <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 Anforderung
SSOM: 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 Anforderung
SSOM: 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 Anforderung
SSOM: 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 Anforderung
SSOM: 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 Anforderungstext
SSOM: 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 Anforderung
SSOM: 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 Anforderungstext
SSOM: 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 des clientseitigen Renderings 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