Prinsippene for bruk av Web API

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!


Grunnleggende prinsipper

Det er en håndfull grunnleggende prinsipper som bør følges når du bruker web-APIer:

  • Bygg applikasjoner som er sosiale og engasjerende
  • Gi brukerne valg og kontroll når det er aktuelt
  • Ikke overrask deg, villedet eller forvirre brukere
  • Ikke opprett eller distribuere spam; oppfordre alltid ekte kommunikasjon
  • Respekter brukerens personvern
  • Vær en god partner for Web API-leverandører

De fleste av disse retningslinjene er oppført i API-vilkårene for Twitter og Facebook, men kan brukes på alle web-APIer.


Vurder dine kodningsferdigheter

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.


Les vilkårene og betingelsene

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:

  • Brudd på opphavsretten
  • Logo Identitet, merkevarebygging og varemerker
  • Innholdsbruk og retningslinjer
  • Generelle begrensninger
  • Bruksbegrensninger
  • Bruk av cachefiler
  • Personvernregler

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.


Les dokumentasjonen

De fleste web-APIer har detaljert dokumentasjon tilgjengelig, som vanligvis inneholder viktig informasjon som:

  • Funksjonsliste
  • Tilgjengelige dataformater
  • Slik ber om en API-nøkkel
  • Slik bruker du autentisering (OAuth)
  • Eksempler på API-anrop og dataforespørsler
  • Opplæringsprogram og prøvekode
  • API referanse side

Bruk den nyeste versjonen / versjonen

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:

  • Lagt til funksjonalitet
  • Økt hastighet
  • Forbedret stabilitet
  • Forbedret nøyaktighet
  • Feilrettinger

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.


Kontroller regelmessig endringsloggen

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:

  • Abonnerer på API-utviklerbloggen
  • Følg API på Twitter
  • Bli med i en API brukergruppe
  • Abonnere på et nyhetsbrev for API-en

Bruksgrenser

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:

  • Twitter
  • Facebook
  • Linkedin
  • Foursquare
  • YouTube

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.


Caching Data

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.


Dataformater

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.


Registrer deg for API

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.


OAuth Token

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.


API-anrop

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.


Test API-anropet

Det finnes flere API-testverktøy som kan hjelpe deg med å teste API-samtalene dine:

  • Google Code Playground
  • Googles OAuth 2.0 Playground
  • Apige Console
  • Twitter Console
  • LinkedIn JavaScript API Developer Console

Plattform Status

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:

  • Nåværende plattformsstatus
  • Utgavehistorikk
  • Gjennomsnittlig API-svartidskart
  • Feil teller diagram

Twitter har også en oppdatert "API Status Page" som inkluderer:

  • Kjente varme problemer
  • Nylig stengte problemer
  • Bo Nåværende ytelse og tilgjengelighet Status
  • Ytelse og tilgjengelighet Historie

Konklusjon

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.