I principi dell'uso dell'API Web

Non molto tempo fa, ho scritto un articolo su "L'importanza crescente delle API nello sviluppo Web". Come follow-up, oggi illustrerò le basi dell'utilizzo di Web API.


Prima di iniziare: questo articolo non descrive in dettaglio il processo di progettazione o sviluppo dell'API. Questo è per un altro articolo!


Principi di base

Ci sono una serie di principi di base che dovrebbero essere seguiti quando si usano le API Web:

  • Costruisci applicazioni sociali e coinvolgenti
  • Dare agli utenti la possibilità di scegliere e controllare quando applicabile
  • Non sorprendere, ingannare o confondere gli utenti
  • Non creare o distribuire spam; incoraggiare sempre una comunicazione autentica
  • Rispetta la privacy dell'utente
  • Sii un buon partner per i fornitori di API Web

Molte di queste linee guida sono elencate nei "Termini di servizio" dell'API per Twitter e Facebook, ma possono essere applicate a tutte le API Web.


Valuta le tue abilità di codifica

Sono disponibili migliaia di API Web e la maggior parte può essere integrata in un sito Web o creare un mashup. Alcune API Web sono abbastanza semplici e richiedono competenze di codifica minime da implementare, mentre altre possono essere estremamente complesse e richiedono competenze di programmazione avanzate.

Il linguaggio di programmazione che utilizzi per integrare un'API Web nel tuo sito Web dipende sicuramente da quali ti senti più a tuo agio. Scoprirai che molte API Web, come Flickr e Last.fm, offrono toolkit specifici per la lingua.


Leggi i Termini e condizioni

Ogni API Web ha termini specifici relativi al suo utilizzo; quindi è incredibilmente importante che i "termini e condizioni" vengano letti attentamente. Descriveranno molti aspetti dell'utilizzo dell'API Web, tra cui:

  • Violazione del copyright
  • Logo Identity, Branding e Marchi
  • Utilizzo del contenuto e linee guida
  • Restrizioni generali
  • Limiti di utilizzo
  • Uso di file di cache
  • politica sulla riservatezza

Potrebbero esserci ulteriori informazioni sui "termini di utilizzo" che si trovano su pagine web separate. Ad esempio, ci sono "Visualizza linee guida" descritte in dettaglio su pagine web separate per Twitter, Foursquare, LinkedIn e Facebook.


Leggi la documentazione

La maggior parte delle API Web dispone di documentazione dettagliata, che di solito contiene informazioni importanti come:

  • Elenco delle caratteristiche
  • Formati di dati disponibili
  • Come richiedere una chiave API
  • Come utilizzare l'autenticazione (OAuth)
  • Esempi di chiamate API e richieste di dati
  • Esercitazioni e codice di esempio
  • Pagina di riferimento dell'API

Utilizzare l'ultima versione / Versioning

Alcuni fornitori di API Web consigliano l'uso di un parametro di versione nella chiamata API.

Molti provider di API Web rilasciano frequentemente nuove versioni delle proprie API. Queste nuove versioni possono includere quanto segue:

  • Funzionalità aggiunta
  • Aumento della velocità
  • Stabilità migliorata
  • Migliore precisione
  • Correzioni di bug

Alcuni fornitori di API Web consigliano l'uso di un parametro di versione nella chiamata API. Ad esempio, Foursquare accetta il parametro "v = YYYYMMDD" nelle chiamate API. Questo parametro aiuterà a indicare che il client è aggiornato alla data specificata.


Controllare periodicamente il registro delle modifiche

È una buona idea controllare periodicamente il registro delle modifiche (se ne esiste uno) quando si utilizzano le API Web. Molte API popolari hanno a disposizione log di modifiche, come Facebook, Google Maps, Google Charts e Foursquare.

Numerosi provider di API offrono ulteriori modi per tenere traccia delle loro revisioni API:

  • Iscrizione al blog degli sviluppatori API
  • Seguendo l'API su Twitter
  • Partecipare a un gruppo utenti API
  • Iscrizione a una newsletter email dell'API

Limiti di utilizzo

Quasi tutte le API Web sono soggette a limiti tariffari; alcuni provider API addebitano anche commissioni se un utente supera il limite di velocità dell'API!

L'utilizzo della maggior parte delle API (se non tutte) è soggetto a limiti di velocità e ogni provider API ha una propria politica di limitazione della velocità dell'API. Alcuni provider API addebitano anche commissioni se un utente supera il limite di velocità API! Google ha recentemente introdotto un nuovo criterio di limitazione della velocità per l'API di Maps che include le tariffe di utilizzo. Google ha inoltre fornito ulteriori dettagli relativi ai limiti di utilizzo dell'API di Google Maps sul proprio blog di Geo Developers. Ecco i link per valutare le informazioni limitative per alcune delle API più popolari:

  • cinguettio
  • Facebook
  • LinkedIn
  • Foursquare
  • Youtube

È incredibilmente importante non abusare dell'API. Se il tuo sito web sta effettuando una chiamata API per ogni singola pagina caricata e per ogni singolo visitatore, chiediti: "Perché"? Implementa tecniche di caching adeguate per migliorare le prestazioni del tuo sito web e potenzialmente risparmiare denaro.


Dati di memorizzazione nella cache

L'uso di un "file cache" impedirà problemi con il limite di frequenza API.

L'uso di un "file cache" impedirà problemi con il limite di frequenza API. Nel post Nettuts + "Come creare un widget Twitter avanzato", ci sono istruzioni su come creare uno script "cache file" PHP. Questo script recupera le informazioni dell'API di Twitter "GET status / user_timeline" e lo memorizza in un file "TXT" che si trova in una directory della cache sul server. Questo script può essere facilmente modificato per funzionare con la maggior parte delle API. Tutto quello che dovresti fare è cambiare il nome del file txt e la chiamata API. Si noti che la chiamata nello script recupera i dati in formato JSON.

È importante leggere le "condizioni di utilizzo" delle API per qualsiasi riferimento all'utilizzo dei file di cache. Ad esempio, l'API di Amazon Product Advertising ha restrizioni sulla memorizzazione nella cache. Facebook raccomanda che se si utilizza la memorizzazione nella cache si dovrebbe cercare di mantenere i dati aggiornati.


Formati di dati

I due formati di dati più popolari per le API Web sono XML e JSON.

I due formati di dati più diffusi per le API Web sono XML e JSON; molti provider offrono entrambi i formati. Tuttavia, JSON è diventato così popolare tra gli sviluppatori web al punto che alcuni provider di API, come Foursquare, Twitter e Google+ offrono esclusivamente il formato dati JSON.

I formati dei dati API sono trattati in dettaglio in un post precedente.


Iscriviti per l'API

La maggior parte dei provider di API richiede agli utenti di registrarsi per un account utente e / o una chiave API. Ad esempio, Google chiede ai suoi utenti di richiedere una chiave API qui. Questo è di solito un processo abbastanza semplice e dovrebbe richiedere solo pochi minuti. È inoltre possibile che venga richiesto di utilizzare un ID sviluppatore / applicazione quando si utilizza un'API.


Token OAuth

Molte API richiedono l'uso di OAuth per specifiche funzionalità API.

OAuth (Open Authorization) è uno standard aperto per l'autorizzazione che consente agli utenti di condividere dati e / o file memorizzati su un sito Web con un altro sito Web.

Molte API richiedono l'uso di OAuth per funzionalità API specifiche, come l'accesso e l'uscita da un'applicazione. L'API di Google+ richiede TUTTE le chiamate API per utilizzare un token OAuth 2.0 o una chiave API. Google consiglia l'utilizzo di OAuth 2.0 come protocollo di autorizzazione per le API di Google. Altri esempi di API che richiedono l'uso di OAuth sono LinkedIn, Twitter e Foursquare.


Chiamate API

È necessario utilizzare una "chiamata" API per consentire all'applicazione Web di accedere a un'API Web. A seconda del tipo di applicazione che si sta creando, potrebbe essere necessario utilizzare più chiamate API. La maggior parte delle API può essere utilizzata con una varietà di linguaggi di programmazione. Potrebbe essere necessario modificare la chiamata per diversi linguaggi di programmazione. Ad esempio, nel tutorial "Come creare un widget Twitter avanzato", uno script "cache file" PHP viene creato utilizzando la seguente chiamata API Twitter:

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

Se stai usando JavaScript o jQuery invece di PHP, la chiamata dovrà essere cambiata in:

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

Quando si utilizza JavaScript o jQuery, "& Callback =?" deve essere incluso nella chiamata API, ma se si utilizza PHP, deve essere rimosso o i dati non verranno generati in un formato JSON valido.


Prova la chiamata API

Sono disponibili diversi strumenti di test API per aiutarti a testare le tue chiamate API:

  • Google Code Playground
  • OAuth 2.0 Playground di Google
  • Console Apigee
  • Console Twitter
  • Console per gli sviluppatori dell'API JavaScript di LinkedIn

Stato della piattaforma

Se si verificano problemi imprevisti con un'API, alcuni provider di API come Foursquare e Twitter offrono aggiornamenti di stato della piattaforma sui blog di stato.

Facebook offre un bel "strumento di stato in tempo reale" che include:

  • Stato della piattaforma corrente
  • Storia del problema
  • Grafico dei tempi di risposta API medio
  • Grafico di conteggio degli errori

cinguettio ha anche una "Pagina dello stato dell'API" aggiornata che include:

  • Problemi caldi noti
  • Recentemente chiuso problemi
  • Vivere Prestazioni attuali e stato di disponibilità
  • Performance e cronologia di disponibilità

Conclusione

Le API Web stanno diventando sempre più importanti nello sviluppo web e la loro popolarità e il loro utilizzo sono aumentati esponenzialmente negli ultimi anni. Si spera che questo articolo abbia descritto in dettaglio le basi dell'utilizzo di API Web. Se ci sono note aggiuntive che non ho incluso, per favore menzionale nei commenti.