# Invia un invio a un foglio di calcolo Google Sheets

> Formspree Docs · Usare la CLI · 14 luglio 2023

Aggiungere l'azione **Google Sheets** nel file `formspree.json` ha lo stesso effetto di aggiungere il plugin Google Sheets nella dashboard di Formspree.

## Ottieni le tue credenziali

Per usare il plugin Google Sheets tramite la CLI dobbiamo creare un account di servizio nella console di Google Cloud.

### 1\. Crea un account di servizio

Visita la [Google Cloud Console](https://console.cloud.google.com) assicurandoti di aver effettuato l'accesso con l'account Google corretto. In alto a destra vedrai un elenco di progetti.

  
![mceclip0.png](/images/zendesk/20ae06b8574ab09d.png)

Se hai già un progetto, clicca sul menu a tendina che contiene il nome del tuo progetto, come ad esempio _Formspree Test Account_. Se non hai un progetto, apparirà in modo diverso. Cliccando sul menu a tendina verrà mostrata una finestra modale con l'opzione _New Projects_.  
  
![mceclip1.png](/images/zendesk/b1ba54d504b7c56f.png)

Assegna un nome al progetto e crealo

  
![mceclip2.png](/images/zendesk/499671dac6e1fab7.png)

### 2\. Crea un account di servizio

Accedi all'opzione account di servizio cercandola nella barra di ricerca o nel menu laterale. Se hai più di un progetto, devi specificare quale progetto vuoi usare.

Clicca su **Create Service Account**.

![mceclip3.png](/images/zendesk/1a64a681d70abb18.png)

Aggiungi un nome e una descrizione per il servizio e clicca su **Done**.  
  
![mceclip4.png](/images/zendesk/ead9adf89fba5ab5.png)

Dovresti vedere l'account elencato nella dashboard. Ci servirà l'email dell'account presente nella tabella per il file `formspree.json`.

## ![mceclip5.png](/images/zendesk/bf15ef4d16106432.png)

### 3\. Ottenere la tua chiave privata

Nella dashboard dell'account di servizio clicca sulla colonna **Actions** della riga dell'account creato nel passaggio precedente. Poi clicca su **Create Key**, seleziona l'opzione **JSON** e clicca su **Create**.  
  
![mceclip6.png](/images/zendesk/e6e5556e0c0d4fe5.png)  
  

Questo ti restituirà un file da scaricare contenente la chiave privata e altri dati privati dell'account di servizio. Conserva queste informazioni in modo sicuro. Ci serviranno nel passaggio di configurazione di formspree.json.

### 4\. Abilita le API Drive e Spreadsheet

Per creare un foglio di calcolo Formspree richiede di usare le API di Google Drive e Sheets tramite le tue credenziali. Per questo, devi abilitare entrambe le API sulla Google Cloud Console.

Seleziona il tuo progetto e accedi a [https://console.cloud.google.com.](https://console.cloud.google.com) Scrivi nella barra di ricerca **Google Drive API**. Clicca su **Enable** nella pagina risultante per abilitare l'API.  
  
Ripeti questo passaggio cercando **Google Sheets API**.  
![mceclip0.png](/images/zendesk/59935ef1cfded160.png)

## Configurazione di formspree.json

| Chiave | Tipo | Descrizione |
| --- | --- | --- |
| `app` |  String | Deve essere `googlesheets` |
| `privateKey` |  String | Il dato `private_key` che hai nel file JSON generato nel passaggio [**Ottenere la tua chiave**](#h_01EVS55S2WNW8S6SM40QFGMZQG). |
| `serviceAccount` |  String | L'email dell'account di servizio che hai ricevuto nel passaggio **Crea un account di servizio**. Puoi vederla nel file JSON che contiene i dati del tuo account di servizio come `client_email`. Puoi anche accedere alla dashboard dell'account di servizio e copiare la colonna email. |
| `type` |  String | Deve essere `sendToSpreadsheet` |
| `sendInvitationTo` |  String | Opzionale. L'email con cui verrà condiviso il foglio di calcolo creato da Formspree. Verrà inviata un'email all'indirizzo configurato qui. Predefinito: l'email di destinazione del tuo modulo e, se non esiste, l'email del tuo account. In questa sequenza. Se entrambe non esistono, verrà mostrato un errore sulla console. |

**Esempio**

```javascript
{
  "forms": {
    "support": {
      "name": "Clients Spreadsheet",
      "actions": [
        {
          "app": "googlesheets",
          "privateKey": "$GOOGLE_SHEETS_KEY",
          "serviceAccount": "formspree-test-service-account@formspree-test-account.iam.gserviceaccount.com",
          "type": "sendToSpreadsheet",
          "sendInvitationTo": "other@email.com"
        }
      ]
    }
  }
}
```

## Regole di validazione

Nessuna regola di validazione è configurata implicitamente.
