# Connetti Google Sheets

Ora puoi collegare i Google Sheets come fonte di dati nel tuo progetto crystal usando l'account dell'utente Google.

Per configurare Google Sheets come fonte di dati, è necessario abilitare le API di Google Drive e Google Sheets e creare un account di servizio sulla console GCP. Tutti i passi di configurazione richiesti sono spiegati in dettaglio nelle seguenti sezioni di questo articolo.

Iniziamo!

### Google API configuration <a href="#google-api-configuration" id="google-api-configuration"></a>

\
Accedi alla piattaforma Google Cloud e vai alla [console GCP](https://console.cloud.google.com/). Seleziona il relativo progetto GCP e poi nel menu laterale sinistro della console GCP seleziona **APIs and Services** e poi **Library**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/IJOG61KA86MKeZ9FJ98X/image.png)

Nel menu aperto cerca Google Sheets e seleziona **Google Sheets API**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/obScKco4e3pTbg1wt3cN/image.png)

Clicca sul pulsante **Enable** per attivare l'API di Google Sheets per il progetto corrente.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/pKr9YheFXMH7UZG16WF9/image.png)

Una volta attivata l'API di Google Sheets, torna alla ricerca, cerca Google Drive e seleziona **Google Drive API.**

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/Uv7J2MQVOgBCBL9sTium/image.png)

Clicca su **Enable** per attivare l'API di Google Drive per il progetto corrente.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/aeWFebg9FUNMSCErsOoX/image.png)

Ora, quando le API richieste sono abilitate, è necessario creare un account di servizio e collegarlo. Vediamo come si può fare sulla GCP Console.

### Create service account <a href="#create-service-account" id="create-service-account"></a>

Accedi alla [Console GCP](https://console.cloud.google.com/) e assicurati di selezionare il progetto corretto. Dal menu della barra laterale, seleziona **APIs and services** e poi seleziona **Credentials**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/EyGthmVPoIJ9IImyIVcz/image.png)

Dal menu in alto, seleziona **Create Credentials** e poi scegli l'opzione **Service Account**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/a5tjXFeFxPydZkZYEiks/image.png)

Nel modulo aperto compila il **Service account name**, poi clicca su **Create and continue** e continua la configurazione saltando tutti i passi opzionali.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/4X1RvSJ6S6RyrgtceDlB/image.png)

Ora trova **Service Account** che hai appena creato nell'elenco degli account di servizio e apri il suo link.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/9Hi5oE8PV3ygTh131HhD/image.png)

Poi vai alla scheda **Keys**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/8B4YYTpSJatdGUSL3Sbh/image.png)

Clicca su **Add Key** e poi seleziona **Create new key**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/wDHO5oXTY9rTuwb96neQ/image.png)

Nel menu aperto seleziona il formato **JSON** e poi clicca su **Create**. Questo scaricherà automaticamente il file dell'account di servizio JSON necessario per la seguente configurazione con crystal.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/aOgk67UfjfzirpHAbzgH/image.png)

### Data source configuration on crystal Self-Service console <a href="#data-source-configuration-on-crystal-self-service-console" id="data-source-configuration-on-crystal-self-service-console"></a>

Una volta eseguiti i passaggi precedenti su Google Cloud Platform, è il momento di collegare Google Sheets al progetto crystal. Per farlo, apri la console Self-service e clicca su **Data Source Management**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/lLuJx6vUsfZ8NgDi8d0Q/image.png)

Clicca su **Connect new data source** nella parte inferiore dello schermo e nella sezione aperta scegli **Google Sheets**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/Eax1otEJrp9aoVYRXvV2/image.png)

Per compilare i campi nel menu aperto, avrai bisogno del file dell'account di servizio scaricato in precedenza. Apri il file JSON e metti le informazioni all'interno del modulo, poi clicca su **Test and connect**.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/PGbTyo9dxpQhCoVHLm58/image.png)

Dopo che il datasource è stato collegato con successo, dovrai condividere manualmente i tuoi fogli di Google Sheets con client email dell'account di servizio.

Per farlo, apri ogni foglio di Google Sheets che vuoi collegare al progetto di crystal, clicca su **Share** e inserisci il client email che puoi trovare nel file JSON.

{% hint style="info" %}
Le autorizzazioni "Viewer" sono sufficienti per permettere a crystal di accedere ai fogli di Google Spreadsheets
{% endhint %}

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/gDpgVlQyumW4Hn2xwk9d/image.png)

Una volta fatto, i fogli di Google Spreadsheets che hai condiviso con client email saranno mostrati nella collezione di tabelle nel primo passo della topic creation.

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/21HrjjASb51PKNbMnHwi/image.png)

### Google Sheets (Autenticazione Oauth) <a href="#google-api-configuration" id="google-api-configuration"></a>

Puoi collegare i tuoi Google Sheets semplicemente effettuando l'accesso con il tuo account Google.

Per farlo, seleziona Google Sheets nel menu **Add new data source**:

![](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/rdXtvGgbCmDyHwInAxAN/Choose%20Google%20Sheets.png)

Comparirà una nuova finestra con due opzioni: **Manual Authentication** o **Oauth Authentication**. Seleziona la seconda, quindi fai clic su **Next**:

![​](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/pMmvK0KWgxrcH1zXNYJH/Oauth%20connection.png)

**Accedi con il tuo account Google** per collegare i tuoi Google Sheets. Verrà visualizzata una nuova finestra che ti consentirà di selezionare sia la **data** (gg/mm/aaa) che le **impostazioni locali** (formato del fuso orario locale).

Potrai anche impostare il **nome della tua datasource**. Quindi, clicca su **Test and connect** per procedere:

![​](https://content.gitbook.com/content/cnnKpOPNK55hq8nWnuDD/blobs/r1dd2CNZlE8ozCJOhYvD/Schermata%202022-07-20%20alle%2011.49.32.png)

***
