Ikke for lenge siden skrev jeg en artikkel om "Den økende betydningen av APIer i webutvikling." Som en oppfølging, i dag, vil jeg dekke grunnleggende om bruk av web-APIer.
Før vi begynner: Denne artikkelen beskriver ikke prosessen med API-design eller -utvikling. Det er for en annen artikkel!
Det er en håndfull grunnleggende prinsipper som bør følges når du bruker web-APIer:
De fleste av disse retningslinjene er oppført i API-vilkårene for Twitter og Facebook, men kan brukes på alle web-APIer.
Det finnes tusenvis av web-APIer, og de fleste kan enten integreres i et nettsted, eller for å lage en mashup. Noen web-APIer er ganske enkle og krever minimal koding ferdigheter å implementere, mens andre kan være ekstremt komplekse og krever avanserte programmeringsevner.
Programmeringsspråket du bruker for å integrere en web-API på nettstedet ditt, er helt sikkert avhengig av hvilke du er mest komfortabel med. Du finner at mange web-APIer, for eksempel Flickr og Last.fm, tilbyr språkspesifikke verktøy.
Hver web-API har bestemte vilkår for bruken av den; så det er utrolig viktig at "vilkårene" leses nøye. De vil detaljere mange aspekter ved bruk av Web API, inkludert:
Det kan være flere "vilkår for bruk" informasjon som finnes på separate nettsider. For eksempel er det "Vis retningslinjer" beskrevet i detalj på separate nettsider for Twitter, Foursquare, LinkedIn og Facebook.
De fleste web-APIer har detaljert dokumentasjon tilgjengelig, som vanligvis inneholder viktig informasjon som:
Enkelte web-API-leverandører anbefaler bruk av en versionseringsparameter i API-anropet.
Mange web-API-leverandører gir ofte nye versjoner av deres APIer. Disse nye utgivelsene kan inneholde følgende:
Enkelte web-API-leverandører anbefaler bruk av en versionseringsparameter i API-anropet. Foursquare for eksempel aksepterer parametre "v = ÅÅÅÅMMDD" i API-anrop. Denne parameteren vil bidra til å indikere at klienten er oppdatert fra den angitte datoen.
Det er en smart ide å regelmessig sjekke endringsloggen (hvis en finnes) når du bruker web-APIer. Mange populære APIer har endringslogger tilgjengelige, for eksempel Facebook, Google Maps, Google Charts og Foursquare.
Mange API-leverandører tilbyr flere måter å holde oversikt over API-revisjonene sine:
Nesten alle web-APIer er underlagt takstgrenser; Noen API-leverandører betaler selv avgifter, dersom en bruker overstiger API-grensen!
Bruk av de fleste (hvis ikke alle) APIer er underlagt takstgrenser, og hver API-leverandør har sin egen API-begrensingsbegrensningspolicy. Enkelte API-leverandører betaler selv avgifter hvis en bruker overstiger API-grensen! Google introduserte nylig en ny prisbegrensningspolicy for Maps API som inkluderer bruksavgifter. Google har også gitt ytterligere detaljer om bruksbegrensningene for Maps API på deres Geo Developers Blog. Her er koblinger for å rangere begrensningsinformasjon for noen av de mer populære APIene:
Det er utrolig viktig at du ikke misbruker API-en. Hvis du er nettside, lager en API-samtale for hver enkelt sidebelastning, og for hver enkelt besøkende spør du deg selv, "hvorfor"? Implementer riktig caching teknikker for å forbedre nettstedets ytelse, og potensielt spare penger.
Ved å bruke en "cache-fil" vil det forhindre problemer med begrensning av API-hastighet.
Ved å bruke en "cache-fil" vil det forhindre problemer med begrensning av API-hastighet. I Nettuts + posten "Hvordan lage en avansert Twitter Widget", er det instruksjoner om hvordan du oppretter et PHP-cache-fil-skript. Dette skriptet henter Twitter API "GET statuser / user_timeline" informasjon og lagrer det i en "TXT" -fil som er plassert i en cachemappe på serveren. Dette skriptet kan enkelt endres for å fungere med de fleste APIer. Alt du trenger å gjøre er å endre txt-filnavnet og API-anropet. Merk at samtalen i skriptet henter dataene i JSON-format.
Det er viktig at du leser APIs "bruksvilkår" for enhver henvisning til bruk av cachefiler. For eksempel har Amazon Product Advertising API restriksjoner på caching. Facebook anbefaler at hvis du bruker caching, bør du prøve å holde data oppdatert.
De to mest populære datformatene for Web APIs er XML og JSON.
De to mest populære dataformatene for Web APIs er XML og JSON; mange leverandører tilbyr begge formater. JSON har imidlertid blitt så populært blant webutviklere til det punktet at enkelte API-leverandører, som Foursquare, Twitter og Google+, tilbyr JSON-dataformatet utelukkende.
API-dataformater er dekket i detalj i et tidligere innlegg.
De fleste API-leverandører krever at brukere registrerer seg for en brukerkonto og / eller en API-nøkkel. For eksempel ber Google sine brukere å be om en API-nøkkel her. Dette er vanligvis en ganske enkel prosess, og bør bare ta noen minutter å gjøre. Du kan også bli bedt om å bruke en utvikler / program-ID når du bruker en API.
Mange APIer krever bruk av OAuth for spesifikk API-funksjonalitet.
OAuth (Open Authorization) er en åpen standard for autorisasjon som tillater brukere å dele data og / eller filer lagret på et nettsted med en annen nettside.
Mange APIer krever bruk av OAuth for spesifikk API-funksjonalitet, for eksempel logging inn og ut av et program. Google + -programmet krever ALLE API-anrop for å bruke en OAuth 2.0-token eller en API-nøkkel. Google anbefaler at du bruker OAuth 2.0 som godkjenningsprotokoll for Google APIs. Andre eksempler på APIer som krever bruk av OAuth er LinkedIn, Twitter og Foursquare.
Et API-kall "samtal" må brukes for at nettstedet ditt skal kunne få tilgang til en web-API. Avhengig av typen søknad du lager, må du kanskje bruke flere API-anrop. De fleste APIer kan brukes med en rekke programmeringsspråk. Samtalen må kanskje endres for forskjellige programmeringsspråk. For eksempel, i opplæringen "Hvordan lage en avansert Twitter Widget", opprettes et PHP "cache-fil" -skript ved hjelp av følgende Twitter API-anrop:
http://api.twitter.com/1/statuses/user_timeline/twitter_screen_name.json?count=3&include_rts=true&include_entities=true
Hvis du bruker JavaScript eller jQuery i stedet for PHP, må samtalen endres til:
http://api.twitter.com/1/statuses/user_timeline/envatowebdev.json?count=3&include_rts=true&include_entities=true&callback=?
Når du bruker JavaScript eller jQuery, "& Tilbakeringing =?" må inkluderes i API-anropet, men hvis du bruker PHP, må det fjernes eller dataene ikke genereres i et gyldig JSON-format.
Det finnes flere API-testverktøy som kan hjelpe deg med å teste API-samtalene dine:
Hvis du har uventede problemer med en API, tilbyr noen API-leverandører som Foursquare og Twitter plattformstatusoppdateringer på statusblogger.
Facebook tilbyr et fint "Live Status Tool" som inkluderer:
Twitter har også en oppdatert "API Status Page" som inkluderer:
Web-APIer blir stadig viktigere i webutvikling, og deres popularitet og bruk har økt eksponentielt de siste årene. Forhåpentligvis har denne artikkelen beskrevet grunnleggende om bruk av web-APIer. Hvis det er flere notater som jeg ikke har tatt med, vennligst nev dem i kommentarene.