Inte för länge sedan skrev jag en artikel om "Den ökande betydelsen av API: er i webbutveckling." Som en uppföljning, idag täcker jag grunderna för att använda Web APIs.
Innan vi börjar: Denna artikel beskriver inte processen med API-design eller -utveckling. Det är för en annan artikel!
Det finns en handfull grundläggande principer som bör följas när du använder Web API:
De flesta av dessa riktlinjer är listade i API-användarvillkoren för Twitter och Facebook, men kan tillämpas på alla Web APIs.
Det finns tusentals Web APIs tillgängliga och de flesta kan antingen integreras i en webbplats eller skapa en mashup. Vissa Web API är ganska enkla och kräver minimal kodning färdigheter att genomföra, medan andra kan vara extremt komplexa och kräver avancerade programmeringsförmåga.
Programmeringsspråket du använder för att integrera ett webb-API till din webbplats beror säkert på vilka som du är mest bekväma med. Du kommer att upptäcka att många webb-API, som Flickr och Last.fm, erbjuder språkspecifika verktyg.
Varje webb API har specifika villkor för användningen av det. så det är oerhört viktigt att "villkor och villkor" läses noggrant. De kommer att beskriva många aspekter av användningen av Web API, inklusive:
Det kan finnas ytterligare "användarvillkor" information som finns på separata webbsidor. Till exempel finns "Visningsriktlinjer" beskrivna i detalj på separata webbsidor för Twitter, Foursquare, LinkedIn och Facebook.
De flesta webb-API-er har en detaljerad dokumentation, som vanligtvis innehåller viktig information som:
Vissa Web API-leverantörer rekommenderar att en versioneringsparameter används i API-samtalet.
Många leverantörer av webb-API släpper ofta nya versioner av deras API. Dessa nya utgåvor kan innehålla följande:
Vissa Web API-leverantörer rekommenderar att en versioneringsparameter används i API-samtalet. Foursquare till exempel accepterar parametern "v = YYYYMMDD" i API-samtal. Denna parameter hjälper till att ange att klienten är uppdaterad från och med det angivna datumet.
Det är en smart idé att regelbundet kontrollera ändringsloggen (om den finns) när du använder Web API. Många populära API-skivor har ändringsloggar tillgängliga, till exempel Facebook, Google Maps, Google Charts och Foursquare.
Gott om API-leverantörer erbjuder ytterligare sätt att hålla reda på deras API-revisioner:
Nästan alla webb APIer är föremål för taksgränser. vissa API-leverantörer tar även ut avgifter om en användare överstiger API-gränsgränsen!
Användning av de flesta (om inte alla) API: n är föremål för taksgränser och varje API-leverantör har sin egen API-räntesänkningspolicy. Vissa API-leverantörer tar även ut avgifter om en användare överstiger API-gränsgränsen! Google introducerade nyligen en ny kursbegränsningspolicy för Maps API som innehåller användaravgifter. Google har också lämnat ytterligare detaljer om användningsbegränsningarna för Maps API på deras Geo Developers Blog. Här är länkar för att betygsätta begränsande information för några av de mer populära API: erna:
Det är oerhört viktigt att du inte missbruker API: n. Om du är webbplats gör ett API-samtal för varje enskild sidbelastning, och för varje enskild besökare, fråga dig själv "Varför"? Genomföra korrekt caching tekniker för att förbättra din webbplats prestanda, och potentiellt spara pengar.
Att använda en "cachefil" kommer att förhindra problem med begränsning av API-hastighet.
Att använda en "cachefil" kommer att förhindra problem med begränsning av API-hastighet. I Nettuts + posten "Hur man skapar en avancerad Twitter Widget", finns det instruktioner om hur man skapar ett PHP-cachefil. Detta skript hämtar Twitter API-filen "GET-status / user_timeline" och lagrar den i en "TXT" -fil som finns i en cachemagasin på servern. Detta skript kan enkelt ändras för att fungera med de flesta API: er. Allt du behöver göra är att ändra txt-filnamnet och API-samtalet. Observera att samtalet i skriptet hämtar data i JSON-format.
Det är viktigt att du läser API: erna "användarvillkor" för varje hänvisning till användning av cachefiler. Till exempel har Amazon Product Advertising API begränsningar för caching. Facebook rekommenderar att om du använder caching bör du försöka hålla data uppdaterad.
De två mest populära dataformaten för Web API är XML och JSON.
De två mest populära dataformaten för Web API är XML och JSON; många leverantörer erbjuder båda formaten. JSON har dock blivit så populärt bland webbutvecklare att vissa API-leverantörer, till exempel Foursquare, Twitter och Google+, erbjuder JSON-dataformatet uteslutande.
API-dataformat omfattas i detalj i ett tidigare inlägg.
De flesta API-leverantörer kräver att användare registrerar sig för ett användarkonto och / eller en API-nyckel. Google frågar till exempel att användarna begär en API-nyckel här. Detta är vanligtvis en ganska enkel process och bör bara ta några minuter att göra. Du kan också bli ombedd att använda ett utvecklar- / applikations-ID när du använder ett API.
Många API: er kräver användning av OAuth för specifik API-funktionalitet.
OAuth (Open Authorization) är en öppen standard för behörighet som tillåter användare att dela data och / eller filer lagrade på en webbplats med en annan webbplats.
Många API: er kräver användning av OAuth för specifik API-funktionalitet, till exempel inloggning och utmatning av en applikation. Google+ API kräver ALL API-samtal att använda en OAuth 2.0-token eller en API-nyckel. Google rekommenderar att du använder OAuth 2.0 som godkännandeprotokoll för Google API. Andra exempel på API som kräver OAuth är LinkedIn, Twitter och Foursquare.
Ett API-samtal måste användas för att ditt webbplatsprogram ska kunna komma åt ett webb API. Beroende på vilken typ av program du skapar kan du behöva använda flera API-samtal. De flesta API kan användas med en mängd olika programmeringsspråk. Samtalet kan behöva ändras för olika programmeringsspråk. Till exempel i handledningen "Hur man skapar en avancerad Twitter Widget", skapas ett PHP-cachefil-skript med följande Twitter API-samtal:
http://api.twitter.com/1/statuses/user_timeline/twitter_screen_name.json?count=3&include_rts=true&include_entities=true
Om du använder JavaScript eller jQuery istället för PHP måste samtalet ändras till:
http://api.twitter.com/1/statuses/user_timeline/envatowebdev.json?count=3&include_rts=true&include_entities=true&callback=?
När du använder JavaScript eller jQuery, "& Callback =" måste inkluderas i API-samtalet, men om du använder PHP måste det tas bort eller data inte genereras i ett giltigt JSON-format.
Det finns flera API-testverktyg tillgängliga för att hjälpa dig att testa dina API-samtal:
Om du har oväntade problem med ett API erbjuder vissa API-leverantörer som Foursquare och Twitter uppdateringar av statusuppdateringar på statusbloggar.
Facebook erbjuder ett bra "Live Status Tool" som innehåller:
Twitter har också en uppdaterad "API Status Page" som innehåller:
Web APIs blir allt viktigare i webbutveckling, och deras popularitet och användning har ökat exponentiellt de senaste åren. Förhoppningsvis har den här artikeln beskrivit grunderna för att använda Web API. Om det finns ytterligare anteckningar som jag inte har medgett, var vänlig och nämna dem i kommentarerna.