De principes van het gebruik van web-API

Nog niet zo lang geleden schreef ik een artikel over "Het toenemende belang van API's in Web Development." Als een vervolg, vandaag zal ik ingaan op de basisprincipes van het gebruik van web-API's.


Voordat we beginnen: dit artikel geeft geen details over het proces van API-ontwerp of -ontwikkeling. Dat is voor een ander artikel!


Basisprincipes

Er zijn een handvol basisprincipes die moeten worden gevolgd bij het gebruik van Web API's:

  • Bouw applicaties die sociaal en aantrekkelijk zijn
  • Geef gebruikers de keuze en controle waar van toepassing
  • Verras gebruikers niet, misleid of verwar ze
  • Maak of verspreid geen spam; moedig altijd oprechte communicatie aan
  • Respecteer de privacy van de gebruiker
  • Wees een goede partner voor Web API-providers

De meeste van deze richtlijnen worden vermeld in de servicevoorwaarden van de API voor Twitter en Facebook, maar kunnen worden toegepast op alle Web-API's.


Evalueer uw codeervaardigheden

Er zijn duizenden web-API's beschikbaar en de meeste kunnen worden geïntegreerd in een website of om een ​​mashup te maken. Sommige web-API's zijn vrij eenvoudig en vereisen minimale codeervaardigheden om te implementeren, terwijl andere zeer complex kunnen zijn en geavanceerde programmeervaardigheden vereisen.

De programmeertaal die u gebruikt om een ​​web-API in uw website te integreren, hangt er zeker van af met welke u het meest vertrouwd bent. U zult merken dat veel web-API's, zoals Flickr en Last.fm taalspecifieke toolkits bieden.


Lees de Algemene voorwaarden

Elke web-API heeft specifieke voorwaarden met betrekking tot het gebruik ervan; dus het is ongelooflijk belangrijk dat de "algemene voorwaarden" zorgvuldig worden gelezen. Ze zullen vele aspecten van het gebruik van de Web API beschrijven, waaronder:

  • Schending van het auteursrecht
  • Logo-identiteit, merk en handelsmerken
  • Gebruik en richtlijnen voor inhoud
  • Algemene beperkingen
  • Gebruiksbeperkingen
  • Gebruik van cachebestanden
  • Privacybeleid

Er kunnen aanvullende "gebruiksvoorwaarden" informatie op verschillende webpagina's staan. Er zijn bijvoorbeeld 'Displayrichtlijnen' die in detail worden beschreven op afzonderlijke webpagina's voor Twitter, Foursquare, LinkedIn en Facebook.


Lees de documentatie

De meeste web-API's hebben gedetailleerde documentatie beschikbaar, die meestal belangrijke informatie bevat, zoals:

  • Functielijst
  • Beschikbare gegevensformaten
  • Hoe een API-sleutel aan te vragen
  • Authenticatie gebruiken (OAuth)
  • Voorbeelden van API-aanroepen en gegevensverzoeken
  • Tutorials en voorbeeldcode
  • API-referentiepagina

Gebruik de nieuwste versie / versie

Sommige Web API-providers raden het gebruik van een versioning-parameter aan in de API-aanroep.

Veel web-API-providers publiceren regelmatig nieuwe versies van hun API's. Deze nieuwe releases kunnen het volgende bevatten:

  • Toegevoegde functionaliteit
  • Verhoogde snelheid
  • Verbeterde stabiliteit
  • Verbeterde nauwkeurigheid
  • Bugfixes

Sommige Web API-providers raden het gebruik van een versioning-parameter aan in de API-aanroep. Foursquare accepteert bijvoorbeeld de parameter "v = JJJJMMDD" in API-aanroepen. Deze parameter geeft aan dat de client up-to-date is vanaf de opgegeven datum.


Controleer het wijzigingslogboek regelmatig

Het is een slim idee om periodiek het wijzigingslogboek te controleren (indien aanwezig) bij het gebruik van web-API's. Veel populaire API's hebben wijzigingslogboeken beschikbaar, zoals Facebook, Google Maps, Google Charts en Foursquare.

Veel API-providers bieden extra manieren om hun API-revisies bij te houden:

  • Abonneren op het API Developer-blog
  • De API volgen op Twitter
  • Lid worden van een API-gebruikersgroep
  • Abonneren op een API-e-mailnieuwsbrief

Gebruikslimieten

Bijna alle web-API's zijn onderworpen aan tarieflimieten; sommige API-providers rekenen zelfs kosten aan als een gebruiker de API-limiet overschrijdt!

Het gebruik van de meeste (zo niet alle) API's is onderhevig aan tarieflimieten en elke API-provider heeft zijn eigen API-tariefbeperkende beleid. Sommige API-providers rekenen zelfs kosten in rekening als een gebruiker de API-limiet overschrijdt! Google heeft onlangs een nieuw snelheidsbeperkend beleid voor de Maps API geïntroduceerd dat gebruikskosten omvat. Google heeft ook aanvullende informatie verstrekt over de gebruikslimieten van de Maps API op hun Geo Developers-blog. Hier vindt u links naar beperkende informatie voor enkele van de meer populaire API's:

  • tjilpen
  • Facebook
  • LinkedIn
  • Vierkant
  • YouTube

Het is ongelooflijk belangrijk dat u de API niet misbruikt. Als uw website een API-aanroep doet voor elke afzonderlijke pagina en voor elke afzonderlijke bezoeker, vraagt ​​u zich af: "Waarom"? Implementeer de juiste caching-technieken om de prestaties van uw website te verbeteren en mogelijk geld te besparen.


Gegevens cachen

Het gebruik van een "cache-bestand" voorkomt problemen met API Rate Limiting.

Het gebruik van een "cache-bestand" voorkomt problemen met API Rate Limiting. In de Nettuts + post "Hoe een geavanceerde Twitter Widget maken", zijn er instructies voor het maken van een PHP "cache file" script. Dit script haalt de Twitter-API "GET-statussen / user_timeline" -informatie op en slaat deze op in een "TXT" -bestand in een cachemap op de server. Dit script kan eenvoudig worden aangepast om met de meeste API's te werken. Het enige dat u hoeft te doen is de txt-bestandsnaam en de API-aanroep wijzigen. Merk op dat de aanroep in het script de gegevens in JSON-formaat ophaalt.

Het is belangrijk dat u de gebruiksvoorwaarden van de API's leest voor elke verwijzing naar het gebruik van cachebestanden. De Amazon-productadvertentie-API heeft bijvoorbeeld beperkingen voor caching. Facebook raadt aan dat als u cachegeheugen gebruikt, u probeert de gegevens up-to-date te houden.


Gegevensformaten

De twee meest populaire gegevensindelingen voor web-API's zijn XML en JSON.

De twee meest populaire gegevensindelingen voor web-API's zijn XML en JSON; veel providers bieden beide formaten. JSON is echter zo populair geworden bij webontwikkelaars dat sommige API-providers, zoals Foursquare, Twitter en Google+, het JSON-gegevensformaat exclusief aanbieden.

API-gegevensindelingen worden uitgebreid behandeld in een vorige post.


Meld je aan voor de API

De meeste API-providers vereisen dat gebruikers zich aanmelden voor een gebruikersaccount en / of een API-sleutel. Google vraagt ​​zijn gebruikers bijvoorbeeld om hier een API-sleutel aan te vragen. Dit is meestal een vrij eenvoudig proces en duurt maar een paar minuten om te doen. Mogelijk wordt u ook gevraagd een ontwikkelaar / applicatie-ID te gebruiken bij gebruik van een API.


OAuth-token

Veel API's vereisen het gebruik van OAuth voor specifieke API-functionaliteit.

OAuth (Open Autorisatie) is een open standaard voor autorisatie waarmee gebruikers gegevens en / of bestanden die op één website zijn opgeslagen kunnen delen met een andere website.

Veel API's vereisen het gebruik van OAuth voor specifieke API-functionaliteit, zoals het inloggen en afsluiten van een toepassing. De Google+ API vereist ALLE API-aanroepen om een ​​OAuth 2.0-token of een API-sleutel te gebruiken. Google raadt aan OAuth 2.0 te gebruiken als het autorisatieprotocol voor Google API's. Andere voorbeelden van API's waarvoor OAuth moet worden gebruikt, zijn LinkedIn, Twitter en Foursquare.


API-oproepen

Een API-oproep moet worden gebruikt om uw websitetoepassing toegang te geven tot een web-API. Afhankelijk van het type toepassing dat u maakt, moet u mogelijk meerdere API-aanroepen gebruiken. De meeste API's kunnen worden gebruikt met verschillende programmeertalen. De oproep moet mogelijk worden aangepast voor verschillende programmeertalen. In de zelfstudie 'Een geavanceerde Twitter-widget maken' wordt bijvoorbeeld een PHP-script voor het cachebestand gemaakt met de volgende Twitter API-aanroep:

 http://api.twitter.com/1/statuses/user_timeline/twitter_screen_name.json?count=3&include_rts=true&include_entities=true

Als u JavaScript of jQuery gebruikt in plaats van PHP, moet de oproep worden gewijzigd in:

 http://api.twitter.com/1/statuses/user_timeline/envatowebdev.json?count=3&include_rts=true&include_entities=true&callback=?

Bij gebruik van JavaScript of jQuery, "& Callback =?" moet worden opgenomen in de API-aanroep, maar als PHP wordt gebruikt, moet deze worden verwijderd of worden de gegevens niet gegenereerd in een geldige JSON-indeling.


Test de API-oproep

Er zijn verschillende API-testtools beschikbaar om u te helpen bij het testen van uw API-aanroepen:

  • Google Code Playground
  • OAuth 2.0-speelplaats van Google
  • Apigee-console
  • Twitter-console
  • LinkedIn JavaScript API Developer Console

Platformstatus

Als u onverwacht problemen ondervindt met een API, bieden sommige API-providers zoals Foursquare en Twitter platformstatusupdates op statusblogs.

Facebook biedt een mooie "Live Status Tool" met:

  • Huidige platformstatus
  • Probleemgeschiedenis
  • Gemiddeld reactietijddiagram voor API
  • Grafiek foutentelling

tjilpen heeft ook een up-to-date "API Statuspagina" met:

  • Bekende hot-problemen
  • Onlangs gesloten kwesties
  • Leven Huidige prestatie- en beschikbaarheidsstatus
  • Prestatie- en beschikbaarheidsgeschiedenis

Conclusie

Web-API's worden steeds belangrijker in webontwikkeling en hun populariteit en gebruik is de afgelopen jaren exponentieel toegenomen. Hopelijk heeft dit artikel de basisprincipes van het gebruik van web-API's beschreven. Als er aanvullende opmerkingen zijn die ik niet heb opgenomen, vermeld deze dan in de opmerkingen.