.. _gnrextra/gnrwork/google/service_google:
Service Google
==============
Creazione dell'APP in Google Developer Console
-----------------------------------------------
Per l'utilizzo del service la prima cosa da fare è creare un'App in `Google Developer Console `_.
Verranno restituiti un ``ID Client`` e un ``Client secret``.
.. image:: /_static/images/gnrwork/google/google-app.jpg
:width: 800px
:align: center
Sarà inoltre necessario specificare degli URI di reindirizzamento autorizzati:
.. image:: /_static/images/gnrwork/google/google-redirect-url.png
:width: 400px
:align: center
Dalla *libreria* sarà poi possibile specificare le API a cui si vuole dare autorizzazione (Drive API, Calendar API, Sheets API, Docs API, ecc).
Aggiungere il service Google
------------------------------
Da *Sistema > Services* è possibile aggiungere il service ``Google > google_client``.
.. hint::
Al momento è necessario assegnare il nome *google* al service che si aggiunge, ma questo requisito verrà rivisto nei prossimi aggiornamenti.
.. image:: /_static/images/gnrwork/google/google-settings.jpg
:width: 800px
:align: center
La schermata superiore permette di impostare i parametri per utilizzare per il funzionamento del service. Nella procedura di richiesta del token andrà specificata una ``Google redirect uri`` che dovrà essere la stessa specificata in fase di creazione dell'App. La selezione del tipo di servizio (anche più di uno) permetterà di compilare correttamente gli ``scopes``, ovvero i vari permessi di cui dovrà disporre il token di accesso.
.. hint::
Gli scopes sono specificati nella tabella ``Google Services`` e sono modificabili a piacere, anche se esistono dei default che si autocompilano alla prima *gnrdbsetup nomeistanza -u*
Sulla base della richiesta effettuata, il sistema restituirà un ``Access Token`` e un ``Refresh Token``. Quest'ultimo verrà scambiato una volta scaduto il primo, di fatto rendendo infinita la durata del token di accesso.
La schermata inferiore permette di inserire uno o più calendari cliccando sul pulsante "+" o su ``Get calendars`` (per aggiungerli automaticamente tutti).
Testare il service
------------------
Dopo aver aggiunto token e calendari, è possibile procedere con il test del service. Alla voce di menu *test* è presente il ``Gcalendartest`` per la pubblicazione di un evento sul calendario, o il ``Gdocstest``, per recuperare i documenti sull'account Google Drive o per costruire un iframe con un documento specifico.
.. sectionauthor:: Davide Paci
.. raw:: html
Data di pubblicazione 21-02-2022