"Sono stato bocciato a parecchi esami. Un mio amico invece, li ha passati tutti a pieni voti. Ora è ingegnere e lavora in Microsoft. Io sono il proprietario."  - Bill Gates  •  "Se riesco a fare qualcosa in 10 minuti, è perché ho passato anni a studiarlo."  - Bill Gates  •  "Il vostro lavoro riempirà gran parte della vostra vita, e l'unico modo per essere veramente soddisfatti è fare ciò che ritenete sia un grande lavoro."  - Steve Jobs  •  "Siate affamati. Siate folli."  - Steve Jobs  •  

cinque 

ZERO

{JS} API Third-party: Cosa sono e le API-libraries

home / javascript /

Lucio Asciolla

Full Stack Developer

Indice

Cosa sono le Third-party API?

Le API che abbiamo trattato finora sono integrate nel browser, questo tipo di API abbiamo detto sono chiamate "built-in" ovvero "integrate".
Esistono però numerosissime altre API fornite da terze parti il che significa che provengono dall'esterno.

Le API di terze parti si trovano sui server di queste terze parti.

Sono nominate con i termini di: API Remote, WebAPI e/o Webservices.

Società come Facebook, Twitter o Google, ecc. per consentirti di accedere alle loro funzionalità e informazioni ci forniscono apposite API.

Esistono diverse tipologie di API esterne.

Il primo approccio, il più semplice, che chiameremo "Simple API", consiste nel collegare un file .js alla nostra app/sito che ci consentirà di accedere, mediante JavaScript, alle funzionalità aggiuntive fornite dall'API stessa.
Si tratta sostanzialmente di librerie esterne.

Un secondo approccio è rappresentato dal mandare delle vere e proprie richieste HTTP direttamente ai server esterni.

Queste si divideranno per "meccanica" di elaborazione e per le tipologie di risposte che potranno assumere in genere la forma di file XML o JSON, due formati diffusi per lo scambio di informazioni.

Documentazioni

Tutte le API di terze parti sono fornite con apposite documentazioni.
E' possibile consultarle per comprendere come gestirle ed in generale come utilizzarle.
Su una "documentation" troveremo vari esempi di utilizzo e tutti i "comandi" disponibili; nel caso di API che che si basano su richieste HTTP, sarà indicato come inviarle.

Security Key

Le API di terze parti hanno un sistema di autorizzazioni che funziona mediante l'utilizzare di chiavi sviluppatore.
Queste chiavi sono rilasciate mediante registrazioni al servizio e consentono agli sviluppatori di accedere alla funzionalità API.

Le API KEY servono principalmente per proteggere il provider dell'API.

La richiesta di una chiave consente al provider dell'API di "identificare" lo sviluppatore e monitorare le sue azioni ritenendolo responsabili delle sue azioni. 
Quando lo sviluppatore si è registrato per una chiave, è noto al provider dell'API e può essere intrapresa un'azione se inizia a fare qualcosa di dannoso con l'API.

Alcuni esempi di azioni dannose possono essere tentare di tracciare la posizione delle persone o inviare spam all'API con eccessive richieste che potrebbero far smettere all'API di funzionare.
Per evitare queste problematiche il provider può limitare il numero di richieste per chiave-sviluppatore o in alternativa provvedere direttamente alla revocare dei suoi privilegi.

Tipi di accessi alle API

Le Api di terze-parti sono api che possono essere integrate e si distinguono in base al tipo di accesso ad esse.

PubblicheSono servizi accessibili al pubblico e quindi disponibili a chiunque.
E’ consentito quindi sviluppare app che interagiscono con l’API. Possono essere totalmente gratuite, limitate nella versione gratuite o a pagamento
PrivateL’API è destinata solo a un utilizzo interno.
Sono servizi utilizzati solo all’interno dell’azienda utilizzate per il funzionamento specifico di un applicativo.
PartnerL’API è condivisa tra specifici partner aziendali. Sono API usate ad esempio per fornire servizi di pagamento, tracciatura di attività, servizi, integrazione software.

Tipologie di API

Tutte le API in genere sono di tipo "remote" perché interagiscono tramite la rete di comunicazione e tutte le risorse sono esterne al computer che le richiede.
Come accennato all'inzio di questo articolo, esistono diverse tipologie di "Third-party API" che si distinguono per capacità e modalità di utilizzo:

API (libraries)In genere si tratta di librerie esterne che mediante il collegamento ad un file .js esterno consentono di effettuare operazioni con una "pacchetto" di proprietà e metodi appartenenti all'API.
REST / RESTfulLe API REST comunicano mediante richieste HTTP, basate sulle URI, per eseguire funzioni di creazione, lettura, l'aggiornamento e l'eliminazione di record (CRUD) lavorando con file di tipo JSON
SOAPLe API SOAP sono progettate sul protocollo RPC , trasmettono le richieste sempre mediante protocollo HTTP e lavorano con file di tipo XML

API di terze parti (libraries)

API (libraries)Libreria esterna *.js

In genere una "Third-party API", quelle di tipo base, è rappresentata da una libreria.
Una Library è un set di funzioni che possono essere richiamate, il programmatore le integrerà e sarà libero di scegliere quali parti di questo set usare (potrebbe esserci richiesto di integrare anche dei fogli di stile appositi mediante il tag <link>).

Collegare il nostro sito ad API esterne

Per effettuare il primo collegamento a una libreria JavaScript esterna è necessario integrare nelle nostre pagine, all'interno del tag <script> (meglio se all'interno dell'header) degli appositi snippet di codice:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
//<link rel="stylesheet"  href="/mapquest.css" />

Questo esempio è relativo all'integrazione delle mappe di Google dell'ultima versione disponibile (che non richiede il caricamento di uno specifico file css).

Una volta inserito lo snippet sarà possibile accedere ad oggetti, classi, proprietà e metodi forniti dalla libreria stessa.

// Funzione per inizializzare una nuova mappa
function initMap() {
// Coordinate per la posizione
  const uluru = { lat: -25.344, lng: 131.031 };
// Creazione mappa 
  const map = new google.maps.Map(document.getElementById("visualizzaMappa"), {
    zoom: 4,
    center: uluru,
  });
// Creazione indicatore di posizione
  const marker = new google.maps.Marker({
    position: uluru,
    map: map,
  });
}

//Inseriamo effettivamente la mappa
window.initMap = initMap;

In questo esempio abbiamo creato una funzione "initMap" che inizializza una nuova mappa e creato un oggetto "uluru" che rappresenta le coordinate della posizione dell'indicatore; successivamente mediante il costruttore fornito dall'API "new google.maps.Map()", che accetta due paramenti, indichiamo di creare effettivamente la mappa: il primo parametro indica l'elemento dove inserirla, il secondo, i dettagli relativi alla configurazione della stessa.
Mediante un secondo costruttore "new google.maps.Marker()" creamo il marcatore ed attraverso l'oggetto passato come parametro indichiamo la sua posizione da associare e la mappa a cui associarlo.

Le specifiche e tutte le possibilità di utilizzo degli strumenti messi a disposizione dell'API sono contenuti nell' apposita documentazione.

Tutto il processo di integrazione in questo video:

Argomenti collegati