cool IT Team-Blog

REST in SharePoint 2010

Kürzlich hatte ich die Microsoft Big Days 2011 besucht und lernte in einem Vortrag die REST Web Services in SharePoint 2010 kennen. Ich war von dieser sehr einfachen Möglichkeit, SharePoint Content per URL abzufragen, so beeindruckt, dass ich hier einen kurzen Blog darüber verfasst habe.

Mittels REST kann eine Client Applikation ohne Verwendung des Client SharePoint Objekt Modells einfach per HTTP-Request Daten aus SharePoint auslesen. Die Daten können dabei auch gefiltert und sortiert werden.

Mit den in SharePoint 2010 vorhandenen Excel Services können auch Elemente in einer Excel-Datei angesprochen werden.

Damit REST in SharePoint 2010 funktioniert, müssen auf dem SharePoint Server die ADO.NET Data Services installiert sein, ansonsten erhält man bei einer REST-Abfrage nur eine SharePoint Fehler Seite.

Wie sieht nun so eine REST Abfrage aus?

Ausprobieren kann man die REST-Abfragen am besten in einem Webbrowser wie z. B. den Internet Explorer. Allerdings erkennt der Internet Explorer das REST-Ergebnis als RSS-Feed und versucht dieses Ergebnis dementsprechend zu rendern. In der RSS-Feed Ansicht ist jedoch nicht der komplette REST Output zu erkennen. Außerdem ist das REST-Ergebnis nicht immer RSS konform. Aus diesem Grund sollte im Internet Explorer die RSS-Ansicht für REST-Abfragen vorübergehend deaktiviert werden.

image001.jpg


Um SharePoint Inhalte abzufragen, steht das REST Web Service "ListData.svc" zur Verfügung.

Eine Übersicht aller Listen in einer SharePoint Site erhält man mit folgender Abfrage:
http://intranet/_vti_bin/ListData.svc

Als Ergbnis bekommt man hier z.B.

 image003-(1).jpg

Die Elemente einer Liste können wie folgt abgefragt werden:
http://intranet/_vti_bin/ListData.svc/SharedDocuments

Zurück bekommt man hier alle Elemente der Liste inklusive Metadaten:

 image005-(1).jpg


Ein bestimmtes Listenelement kann einfach über seine ID angesprochen werden: 
http://intranet/_vti_bin/ListData.svc/SharedDocuments(3)

Auch Metadaten eines Listenelementes, wie z. B. der Titel können über REST abgefragt werden:
http://intranet/_vti_bin/ListData.svc/SharedDocuments(3)/Title

Ergebnis:

image007.jpg

Mit folgender Abfrage wird nur mehr der Titel "Great White Gears Production Specs" als Plain Text zurückgegeben:
http://intranet/_vti_bin/ListData.svc/SharedDocuments(3)/Title/$value


Auch ein Filtern oder Sortieren der REST Ergebnisses ist möglich:

Die Abfrage
http://intranet/_vti_bin/ListData.svc/SharedDocuments?$filter=Title%20eq%20'Great White Gears Production Specs'
findet das Dokument mit dem Titel "Great White Gears Production Specs".

Ein nach Titel sortiertes Ergbnis erhält man mit:
http://intranet/_vti_bin/ListData.svc/SharedDocuments?$orderby=Title


Eine genaue Beschreibung der REST Syntax kann man hier nachlesen:
http://msdn.microsoft.com/en-us/library/cc907912.aspx


Besonders cool finde ich die Möglichkeit, Inhalte aus einer in SharePoint abgelegten Excel-Datei per REST abzufragen. Mit folgendem URL kann z. B. ein Excel Chart im Browser angezeigt werden:
http://intranet/_vti_bin/ExcelRest.aspx/Shared%20Documents/Test.xlsx/Model/Charts('Chart%203')

Wenn man diesen Link in ein IMG-Tag in einem Content Editor Webpart verpack, kann man dieses Excel Chart auf einer SharePoint Seite anzeigen:

 

image011.jpg

 

 image013.jpg

 
Ist doch cool, oder?
 

Verfasst: 08.04.2011 11:37:55 von Roland Koller
Tags: Excel Services, REST, SharePoint 2010

1


Kommentare
Für diesen Blogbeitrag liegen zurzeit keine Kommentare vor.
Einen Kommentar schreiben



 Security code