A Beginner's Guide to SharePoint 2013 REST API [Rest/Odata/Json] Christian Ståhl A Beginner's Guide to SharePoint 2013 REST API [Rest/Odata/Json]
Christian Ståhl Blog: chrisstahl.wordpress.com Twitter: @Cstahl SharePoint MVP 2011-2014 Senior consultant & lead designer Humandata Fokus branding & front end utveckling Utbildar bl a på LabCenter och Hermods
REST REST – Representational State Transfer Används för att organisera information mellan två system, typiskt webbserver och klient REST är en klient / server arkitektur Uppfanns år 2000 av Roy Fielding
REST – Termer att ha koll på Universellt JS, C#, JAVA, PHP m.m. iOS, Android, Windows m.m Formatet (resultatet) är XML eller JSON Använder HTTP och stödjer metoderna CRUD (GPDMP) Syntaxen för frågan, via HTTP heter OData Bygger man en webbtjänst och använder REST kallas webbtjänsten RESTful
Vad är en Webbtjänst / Webservice? En metod för kommunikation mellan t ex två enheter (server-client) över internet (www) Kallas också Machine-to-Machine Två protokoll (arkitekturer för webbtjänster) finns REST SOAP
REST Kommunikation genom HTTP (mekanism för transport)
REST Om du vill bygga en APP/Webpart som rullar upp dokument från ett bibliotek Fråga – Ställ frågan direkt i webbläsarens adressfält Svar – rådata serveras direkt i webbläsaren Presentation – Du behandlar och presenterar resultatet för användaren
REST Fråga (Jag vill ha..) 5 Senaste dokumenten Bara viss typ av dokument (t ex avtal) Bara dokument som skapats denna vecka
REST Frågan {OdataQuery} - görs med hjälp av query parameters /_api/web/lists/getbytitle('Documents')/items $select=Title $top=5 $orderby=Title desc /_api/web/lists/getbytitle('Documents')/items?$select=Title&$top=5&$orderby=Title desc
REST Svar Ok säger SharePoint, genom dess REST API, och ger dig resultatet i rådata direkt i webbläsaren
REST Svar Javisst säger SharePoint genom dess REST api
REST Presentation XML/JSON är formatet och JavaScript/HTML/CSS är språket för UI och funktionalitet
REST Gör en beställning
REST Resultatet levereras
REST Bygg ett gränssnitt
REST Done!
Klienten kommunicerar med servern REST Klienten kommunicerar med servern
SharePoint & REST REST kan implementeras i allt från en innehållsredigerare, en SharePoint sida, en web part eller som en APP Du kan använda NAPA, Visual Studio, SharePoint Designer eller t ex Notepad. REST med JS är enklare jämfört med XSLT och samtidigt kraftfullare
SharePoint & REST REST i SharePoint 2013 låter dig arbeta med: Listor List Items Webs/Sites Navigation UserProfiles (GetMyProperties) – men bara läsa, använd SPServices för updates Sök Användare/grupper
SharePoint & REST SharePoint REST referens? http://msdn.microsoft.com/en- us/library/office/jj860569(v=office.15).aspx#Reference
SharePoint & REST jämfört med CSOM REST är ett API i SharePoint men CSOM (JS object model) finns också som ett alternativt API: REST Många open source bibliotek (jQuery, knockout m.fl) Odata frågor CSOM Stöd för manage metadata taxanomi och workflows SharePoint specifikt med CAML frågor Framtiden osäker för CSOM då SP går mer mot en tjänst i molnet än som produkt
SharePoint & REST jämfört med CSOM Inget av dessa är rätt eller fel, det beror på situationen och sammanhanget Se det som två olika verktyg i lådan REST och CSOM kan samexistera i din APP
SharePoint & REST Anta att du vill skapa en APP som visar alla dokument i ett visst dokumentbibliotek /Shared Documents/Forms/AllItems.aspx REST endpoint blir då: /_api/web/lists/getbytitle('Documents')/items?$select=Title Du får tillbaka den data du efterfrågat i XML Nästa steg är att transformera resultatet till något mer läsbart med hjälp av JavaScript (Ajax) i formatet JSON
SharePoint & REST
Ajax & JSON Ajax JSON En JS term för att asynkront uppdatera data Snabb kommunikation med servern utan postbacks JSON Är precis som XML ett Markup Language, men enklare att hantera i JS än XML Är också snabbare än XML
Verktyg Google Chrome Extensions Fiddler SharePoint Client Browser DHC – REST HTTP API Client Advanced REST client REST console Fiddler SharePoint Client Browser SPO APPs: OdataQueryBuilder _api JSON Builder
REST Eftersom REST via JSON är JS kan du också använda andra JS baserade ramverk för än mer kraftfulla applikationer: Moment.js (date parsing) Knockout / Angular (databinding) DataTables (tabeller) SpServices (färdiga templates) och många fler..
REST – Beyond SharePoint Du kan också arbeta med information från externa källor 1000 tals REST tjänster finns… Twitter Spotify Netflix FlickR Foursquare Eniro Booli Yammer Bing & Google Maps FlightLookup
REST – Externa källor (Twitter)
REST – Externa källor (Spotify)
DEMO!