Exportieren (0) Drucken
Alle erweitern

Arbeiten mit sozialen Feeds in SharePoint 2013

SharePoint 2013

Hier erhalten Sie Informationen zu allgemeinen Programmierungsaufgaben zum Arbeiten mit sozialen Feeds und Mikroblogbeiträgen in SharePoint Server 2013.

Interaktive soziale Feeds werden in lokalen SharePoint Server 2013-Farmen erstellt, damit Benutzer Informationen teilen und mit Personen in Verbindung und bei Inhalten auf dem neuesten Stand bleiben. Auf der Seite Newsfeed der persönlichen Website eines Benutzers werden zahlreiche Feedfunktionen angezeigt.

SharePoint Server 2013 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 2013-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 APIs in SharePoint 2013 ihrer Verwendung finden Sie unter Auswählen des richtigen API-Satzes in SharePoint 2013.

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 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 und das mobile Clientobjetmodell in Microsoft.SharePoint.Client.UserProfiles.Phone.dll definiert.

Tabelle 1. SharePoint 2013-APIs für das programmgesteuerte Arbeiten mit sozialen Feeds

.NET-Clientobjektmodell

Siehe Vorgehensweise: Erstellen und Löschen von Beiträge und Abrufen des für soziale Netzwerke-Feed mithilfe des clientobjektmodells .NET SharePoint 2013

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 sozialen Feed abrufen, indem Sie mit der JavaScript-Objektmodell in SharePoint 2013

Manager-Objekt:
SocialFeedManager

Primärer Namespace:
SP.Social

Weitere Schlüsselobjekte:
SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor

Klassenbibliothek:
SP.UserProfiles.js

REST-Dienst

Siehe Vorgehensweise: Lesen und Schreiben der sozialen Feed mithilfe des REST-Diensts in SharePoint 2013

Manager-Ressource:
social.feed (SocialRestFeedManager)

Primärer Namespace (OData):
SP.Social

Weitere Schlüsselressourcen:
SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor

Zugriffspunkt:
<siteUri>/_api/social.feed

Serverobjektmodell

Hinweis Hinweis

Code, der mit dem Serverobjektmodell auf Feeddaten zugreift und remote ausgeführt wird, muss ein SPServiceContextScope-Objekt verwenden.

Manager-Objekt:
SPSocialFeedManager

Primärer Namespace:
Microsoft.Office.Server.Social

Weitere Schlüsselobjekte:
SPSocialFeed, SPSocialThread, SPSocialPost, SPSocialFeedOptions, SPSocialActor

Klassenbibliothek:
Microsoft.Office.Server.UserProfiles.dll

Verwenden Sie ein SPServiceContextScope-Objekt in Ihrem Code, wenn Sie mit dem Serverobjektmodell auf Feedinhalte zugreifen und der Code nicht in einer SharePoint-Instanz ausgeführt wird (d. h. die Erweiterung ist nicht im Ordner „Layouts" auf dem Anwendungsserver installiert). Der folgende Code stellt eine Möglichkeit dar, das SPServiceContextScope-Objekt in Ihren Code zu integrieren.

using (SPSite site = new SPSite(<siteURL>))
{
    using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
    {
        // code
    }
}

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 Programmierungsaufgaben für das Arbeiten mit sozialen Feeds in SharePoint Server 2013

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: Owner

JSOM: owner

REST: GET <siteUri>/_api/social.feed/my

SSOM: Owner

Abrufen des Feeds für den aktuellen Benutzer

(Angeben des Feedtyps)

CSOM: GetFeed

JSOM: getFeed

REST: GET <siteUri>/_api/social.feed/my/Feed (persönlicher Feed), <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

(Angeben der URL des Websitefeeds als Akteur (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 den restCreationData-Parameter im Anforderungstext übergeben

SSOM: CreatePost

Veröffentlichen eines Beitrags im Websitefeed

(Angeben der URL des Websitefeeds als Ziel (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 den restCreationData-Parameter im Anforderungstext übergeben (null für den ID-Parameter 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 den restCreationData-Parameter im Anforderungstext übergeben

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 den ID-Parameter im Anforderungstext übergeben

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 den ID-Parameter im Anforderungstext übergeben

SSOM: GetFullThread

Markieren eines Beitrags oder einer Antwort des Benutzers mit „Gefällt mir" („Gefällt mir nicht mehr")

CSOM: LikePost (UnlikePost)

JSOM: likePost (unlikePost)

REST: POST <siteUri>/_api/social.feed/Post/Like (<siteUri>/_api/social.feed/Post/Unlike) und den ID-Parameter im Anforderungstext übergeben

SSOM: LikePost (UnlikePost)

Abrufen aller Personen, denen ein Beitrag gefällt

CSOM: GetAllLikers

JSOM: getAllLikers

REST: POST <siteUri>/_api/social.feed/Post/Likers und den ID-Parameter im Anforderungstext übergeben

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 den ID-Parameter im Anforderungstext übergeben

SSOM: LockThread (UnlockThread)

Hinweis Hinweis

Der Platzhalterwert domain\\user im REST-Beispiel muss mit dem Kontonamen des aktuellen Benutzers ersetzt werden. Informationen zum Übergeben eines REST-Parameters im Anforderungstext finden Sie in den Beispielen in der REST-API-Referenz zu sozialen Feeds.

SharePoint Server 2013 bietet keine direkte API zum Anpassen des Layouts oder Rendern eines Mikroblogbeitrags. SharePoint Server 2013 stellt nur die Daten zur Verfügung und lässt plattform- und geräteübergreifende Clientanwendungen zum Definieren von Layouts zu, die den Formularfaktoren und -anforderungen entsprechen. In der SharePoint 2013-Entwicklung können Sie JavaScript-Überschreibungen im clientseitigen Rendering wie unter Gewusst wie: Anpassen einer Listenansicht in Apps für SharePoint durch clientseitiges Rendering beschrieben verwenden.

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 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.

Anzeigen:
© 2015 Microsoft