Caratteristiche
- Supporto di più metodi di autenticazione — OAuth 2.0 (accesso per singolo utente), Service Account (comunicazione server-to-server), API key (dati pubblici)
- API fluente — manipola i dati in modo intuitivo con method chaining
- Integrazione con le Laravel Collection — converte i dati di Google Sheets in Laravel Collection. Manipolazione degli array semplice
- Estendibilità — puoi aggiungere metodi personalizzati alla facade tramite il sistema di macro
- Integrazione con Google Drive — gestione ed elenco delle spreadsheet
Casi d’uso comuni
- Dashboard utente — visualizza e manipola dati di Google Sheets
- Import/Export di dati — spostamento di grandi quantità di dati tra app Laravel e Google Sheets
- Generazione automatica di report — genera e aggiorna report programmaticamente
- Applicazioni multi-utente — ogni utente gestisce il proprio Google Sheets
Filosofia di design
Lo scopo principale del pacchetto è leggere dati da Google Sheets. Invece di specificare condizioni fini prima della lettura, il design prevede di scaricare prima tutti i dati come Laravel Collection e poi elaborarli lato Laravel.Requisiti di sistema
- PHP >= 8.3
- Laravel >= 12.0
Installazione
Abilita le API Google
Nella Google Cloud Console abilita le seguenti API:
- Google Sheets API
- Google Drive API
Scegli e configura il metodo di autenticazione
Scegli tra 3 metodi:
- Service Account — per comunicazione server-to-server e task automatici
- OAuth 2.0 — per accesso per singolo utente
- API key — solo per dati pubblici
Scelta del metodo di autenticazione
| Metodo | Uso | Interazione utente | Ambito di accesso | Difficoltà |
|---|---|---|---|---|
| Service Account | Server-to-server, automazione | Non necessaria | Spreadsheet condivise | Media |
| OAuth 2.0 | App orientate agli utenti | Serve il consenso | Fogli del singolo utente | Alta |
| API key | Solo dati pubblici | Non necessaria | Solo spreadsheet pubbliche | Bassa |
Uso base
Considera l’esempio della seguente struttura di spreadsheet.| id | name | |
|---|---|---|
| 1 | name1 | mail1 |
| 2 | name2 | mail2 |
https://docs.google.com/spreadsheets/d/{spreadsheetID}/...
Prendi spreadsheetId dall’URL.
Service Account
Se usi l’autenticazione con Service Account, non serve impostare il token.OAuth
Se usi l’autenticazione OAuth, devi impostare l’access token dell’utente.Recuperare i valori del foglio usando l’intestazione come chiave (consigliato)
La conversione in collection è semplice ed è più flessibile per l’elaborazione successiva, per cui è il metodo consigliato.Uso della notazione A1
Sulla notazione A1
La notazione A1 è il modo standard di specificare celle o intervalli in Google Sheets (es.: “A1”, “A1:B2”).- “A1” indica la cella nella colonna A, riga 1.
- “A1:B2” indica l’intervallo (rettangolo) dalla cella A1 alla B2.
- “A:B” indica tutte le righe delle colonne A e B.
Passi successivi
- Autenticazione Service Account — il metodo più comune
- Autenticazione OAuth 2.0 — accesso per singolo utente
- laravel-google-sheets
- Progetto demo — esempi che coprono da Laravel 5.5 a 13
- Pacchetto correlato: Google Search Console API for Laravel