Come utilizzare Microsoft Graph se la sola idea di aprire una console vi riempie di gioia. Età 9-99.

Nel primo articolo di questa meravigliosa serie (o così mi dicono i miei lettori immaginari) Microsoft Graph, introduzione leggerissima ad un ecosistema gargantuesco. Età 9-99. – ICT Power abbiamo affrontato la piacevole giungla binaria di Microsoft Graph Explorer e abbiamo scoperto le potenzialità del prodotto.

Come dite? Vi è sfuggito l’utilizzo che potreste farne?

Nessun problema.

In effetti di lettori non ve ne sono molti, ma i pochi che hanno avuto l’ardire di presentare un feedback hanno alimentato la necessità di buttar fuori, qui e ora, una spiegazione ancor più chiara e lecita del prodotto di casa Microsoft.

Di per sé Explorer non è altro che un primo interfacciamento al prodotto Graph, ma se ci prendiamo un attimo per valutarne gli effettivi utilizzi, noteremo come la nostra intera organizzazione possa trarne dei vantaggi sia in termini di riusabilità del dato, gestione di questo e valorizzazione dell’informazione interna.

Non volendo annoiarvi troppo e certo degli sbadigli di fondo, eccovi subito pronta una fantastica richiesta HTTPS:

Ed eccola lì, in tutta la sua bellezza, una query vera e propria.

cURL Microsoft Graph profile GET request

Figura 1: cURL Microsoft Graph profile GET request

Come potrete notare dalla cURL riportata, si tratta di una richiesta HTTP GET verso l’indirizzo https://graph.microsoft.com

Andiamo a vedere la formulazione HTTP, secondo quanto previsto da protocollo, di questa richiesta.

HTTP Request at Graph endpoint

Figura 2: HTTP Request at Graph endpoint

È quindi evidente come l’host sia Microsoft Graph che, dopo aver opportunamente controllato quanto riportato dal Bearer Token, un JSON WEB TOKEN o JWT, ci risponde con le risorse che abbiamo richiesto.

E la risposta, che abbiamo già visto nel precedente articolo, sarà un oggetto Javascript (JSON, Javascript Object Notation) che potremo usare per formattare come meglio pensiamo una nostra Single Page Application, un sito, una applicazione mobile o addirittura creare dei nostri moduli interni ai framework Microsoft (pensate a Sharepoint).

Vi ricordate della risposta di questo endpoint https://graph.microsoft.com/v1.0/me?

Risposta JSON da Microsoft Graph

Figura 3: Risposta JSON da Microsoft Graph

Potrà sembrarvi un niente di che, ma guardiamo le cose con una prospettiva diversa. Finora abbiamo utilizzato Microsoft Graph Explorer per ricevere questi dati della nostra organizzazione, adesso invece possiamo abilitare qualsiasi client o server capace di inviare richieste HTTP per raggiungere determinate risorse e trarne i vantaggi che più riteniamo di nostro interesse!

Volete che nella vostra nuova applicazione mobile gli utenti della vostra organizzazione abbiano un profilo univoco, centralizzato e gestito da Azure Active Directory?

Ecco qua la query da fare e in cambio riceverete la vostra immagine profilo aziendale.

cURL request per fotografia profilo Microsoft Graph

Figura 4: cURL request per fotografia profilo Microsoft Graph

Fotografia profilo Microsoft Graph con richiesta HTTP RESTful

Figura 5: Fotografia profilo Microsoft Graph con richiesta HTTP RESTful

Tutto molto interessante, ma riesco comunque a percepire il dubbio del: “si, ok, ma come ce lo metto nella mia app?”

Fotografia profilo Microsoft Graph con richiesta HTTP RESTful utilizzando Javascript

Figura 6: Fotografia profilo Microsoft Graph con richiesta HTTP RESTful utilizzando Javascript

Come abbiamo detto, a questo punto non ci resta che conoscere le richieste che vogliamo inviare a Microsoft Graph, formulare opportunamente con il nostro linguaggio scelto la richiesta HTTP e inviarla all’endpoint giusto.

Ad esempio, per ricevere la nostra foto profilo, l’endpoint sarà sempre https://graph.microsoft.com/v1.0/me/photo/$value e il risultato sarà la nostra foto all’interno dell’organizzazione.

E se invece volessimo vedere tutti i file sul OneDrive della persona autenticata alla nostra applicazione?

Nessun problema, lo possiamo fare con questo nuovo endpoint https://graph.microsoft.com/v1.0/me/drive/root/children

OneDrive Files Microsoft Graph con richiesta HTTP RESTful utilizzando Javascript

Figura 7: OneDrive Files Microsoft Graph con richiesta HTTP RESTful utilizzando Javascript

Tutto questo è molto bello e utile ma ancora non abbiamo detto come recuperare l’unica informazione che ci permetterà di accedere a queste funzionalità. L’access token per Microsoft Graph.

Per ricevere il Token dovremmo implementare una delle tante modalità di Authentication e Authorization presenti su Azure Active Directory ma dedicheremo un articolo a questo argomento, quindi per ora, se volete fare qualche prova utilizzando POSTMAN (un client GUI HTTP), vi consiglio di prendere l’access token direttamente dalla vostra autenticazione Microsoft Graph

Access Token Microsoft Graph RESTful API

Figura 8: Access Token Microsoft Graph RESTful API

Copiate e incollate quel token e provate la richiesta direttamente dai vostri strumenti preferiti. Potreste persino aprire la console del browser e fare una fetch da lì.

Come muoversi da qui in poi

Vi ringrazio per essere rimasti con me durante la lettura di questo articolo e vi invito a leggere il prossimo di questa serie che ha come argomento, rullo di tamburi, Microsoft Graph!

Se intanto non sapete cosa fare, potete trovare altri articoli sul mio blog personale 404answernotfound.eu, e potete trovarmi su Twitter e LinkedIn!