JavaScript, HTML, CSS e... !
1 commento

Ottieni le statistiche del gioco in 5 minuti

Connettersi alle API di Clash Royale con Google Apps Script

Clash Royale è un gioco di strategia freemium di Supercell. In questo video, ti mostrerò come connettersi facilmente alle API del gioco per poter ottenere tutte le informazioni che desideri su clan, giocatori e quant'altro.

L'API di Clash Royale fornisce un accesso praticamente in tempo reale ai dati del gioco. Per accedere all'API, è necessario un account sviluppatore e una chiave per abilitare la propria applicazione.

Per creare un account basta accedere alla sezione del sito dedicato agli sviluppatori: https://developer.clashroyale.com/ e seguire il processo di registrazione. Una volta completato sarà opportuno loggarsi con l’indirizzo email e la password scelta.

Le chiavi aiutano a controllare l’accesso e il traffico all’API. Quando si crea una chiave è necessario specificare gli indirizzi IP a cui è consentito accedere agli endpoint API. Per creare una chiave è necessario recarsi nelle impostazioni del proprio account e cliccare su "Crea nuova chiave". A questo punto dare un nome al progetto (ad esempio: Progetto Apps Script), inserire una descrizione (Clash Royale API con Google Apps Script) ed inserire un indirizzo IP valido (potete inserire in questo caso il vostro, ottenibile scrivendo "whats my ip" nella barra di ricerca di Google), per poi cliccare su Crea chiave.

A questo punto entrare nella chiave appena creata per recuperare il token che andremo ad utilizzare all’interno della nostra applicazione. Nel caso specifico, nel mio progetto, ho creato una variabile dedicata dove andarlo ad inserire, la quale è inclusa nell'header delle chiamate alle API che vedremo tra poco.

Passiamo ora alla parte della documentazione contenente gli endpoint da interrogare per recuperare le informazioni che ci interessano, tra le quali: clan, giocatori, carte, tornei, località e tornei globali.

Facendo clic sul collegamento corrispondente per una categoria si espanderà un elenco di endpoint specifici.
Al clic su uno di essi si aprirà la relativa pagina di documentazione, contenente il metodo HTTP e l'URL dell'endpoint, una breve descrizione del suo scopo, un elenco dei parametri accettati e dei messaggi di risposta, nonché una richiesta di esempio e di risposta ottenuta.

Tutte le chiamate API a Clash Royale devono essere effettuate a questo URL di base:

https://api.clashroyale.com/v1/

Il resto del percorso si compone con il path dello specifico endpoint (ad esempio clans o players) e dai parametri in querystring.

Questi sono due esempi che ho creato per interrogare le API di Clash Royale da Google Apps Script utilizzando la classe UrlFetchApp che non fa altro che puntare ad un indirizzo esterno e ottenerne una risposta.

Se è il primo avvio di una funzione del vostro progetto sarà richiesto autorizzare lo script ad accedere a un servizio esterno, basterà seguire la semplice procedura guidata.

La prima funzione cerca i clan in base al parametro passato, nel caso specifico il nome, ad esempio "Baraldi". Scrivendo il termine nel campo di testo e cliccando su "Provalo", viene suggerito l'intero endpoint da utilizzare, e che è quello che diamo in pasto al metodo fetch. Nei risultati troviamo tutti i clan che contengono la parola Baraldi e dai quali è possibile ottenere informazioni associate come il paese, il tag o il punteggio.

Con lo stesso criterio, la seconda funzione identifica le informazioni di un singolo giocatore. Il giocatore è interrogabile tramite il suo specifico tag che si trova sotto il suo nome nel relativo profilo. I tag dei giocatori iniziano con il carattere cancelletto '#' il quale deve essere codificato correttamente nell'URL affinché l’interrogazione vada a buon fine, per cui il simbolo # dovrà essere definito com %23. Pertanto nel caso del nostro esempio, #28L8Y8UC dovrà diventare %2328L8Y8UC.
Eseguendo la funzione così definita (vedere il video) ecco che otteniamo tutte le informazioni associate al giocatore di interesse: il suo nome, il numero di battaglie, il livello di gioco nonché il progresso delle sue carte, ad esempio possiamo riscontrare che possiede 329 carte del Barile goblin.

In questo tutorial abbiamo visto l'output direttamente nel log dell’editor di script tuttavia è possibile gestire questi dati come meglio crediamo. Potremo ad esempio farli comparire direttamente all'interno di un Foglio di Google oppure creare una pagina HTML dove mostrare un cruscotto con grafici, andamenti e altri widget utili.

Fammi sapere se questo video tutorial ti è piaciuto, ti invito anche a lasciami un commento per qualsiasi dubbio, curiosità o suggerimento e a iscriverti al mio canale, se ancora non l'hai fatto, per rimanere aggiornato sull'uscita dei miei nuovi video.

A presto, ciao! ;)

 

Tags

Non ci sono tag per questo elemento
Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

1 Commento

  1. Saturday, February 5, 2022 alle ore 20:09 3ric 5upr3m3


    Clash royale con app script

    Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web