Características
- Compatible con varios métodos de autenticación: OAuth 2.0 (acceso por usuario), Service Account (comunicación entre servidores), API key (datos públicos).
- API fluida: manipula los datos de forma intuitiva con encadenamiento de métodos.
- Integración con Laravel Collections: convierte los datos de Google Sheets en Laravel Collections. Facilita el procesamiento de arrays.
- Extensibilidad: puedes añadir métodos personalizados al Facade con el sistema de macros.
- Integración con Google Drive: gestión y listado de hojas de cálculo.
Escenarios habituales de uso
- Dashboards de usuario: mostrar y manipular datos de Google Sheets.
- Importación/exportación de datos: migración masiva de datos entre una app Laravel y Google Sheets.
- Generación automática de informes: generar y actualizar informes programáticamente.
- Aplicaciones multiusuario: cada usuario administra sus propias Google Sheets.
Filosofía de diseño
El objetivo principal de este paquete es la lectura desde Google Sheets. En lugar de especificar condiciones detalladas antes de leer, primero se obtienen todos los datos como Laravel Collection y luego se procesan en el lado de Laravel.Requisitos del sistema
- PHP >= 8.3
- Laravel >= 12.0
Instalación
Habilita las APIs de Google
Activa las siguientes APIs en la Google Cloud Console:
- Google Sheets API
- Google Drive API
Selecciona y configura el método de autenticación
Elige entre tres métodos y configúralo:
- Service Account: para comunicación entre servidores y tareas automatizadas.
- OAuth 2.0: para acceso por usuario.
- API key: solo para datos públicos.
Selección del método de autenticación
| Método | Uso | Interacción del usuario | Alcance del acceso | Dificultad |
|---|---|---|---|---|
| Service Account | Comunicación entre servidores, automatización | No necesaria | Hojas compartidas | Media |
| OAuth 2.0 | Aplicaciones orientadas al usuario | Se requiere consentimiento | Hojas propias del usuario | Alta |
| API key | Solo datos públicos | No necesaria | Solo hojas públicas | Baja |
Uso básico
Considera el siguiente ejemplo de estructura de hoja de cálculo.| id | name | |
|---|---|---|
| 1 | name1 | mail1 |
| 2 | name2 | mail2 |
https://docs.google.com/spreadsheets/d/{spreadsheetID}/...
Obtén el spreadsheetId desde la URL.
Service Account
Si usas autenticación con Service Account, no es necesario configurar el token.OAuth
Con autenticación OAuth, debes configurar el access token del usuario.Obtener los valores usando la cabecera como clave (recomendado)
La conversión a colecciones es sencilla y luego puedes procesar los datos con flexibilidad, así que recomendamos este método.Uso de la notación A1
Sobre la notación A1
La notación A1 es la forma estándar de indicar celdas o rangos en Google Sheets (por ejemplo, “A1”, “A1:B2”).- “A1” hace referencia a la celda de la columna A, fila 1.
- “A1:B2” indica el rango (rectángulo) desde A1 hasta B2.
- “A:B” indica todas las filas de las columnas A y B.
Próximos pasos
- Autenticación con Service Account: el método más habitual.
- Autenticación con OAuth 2.0: acceso por usuario.
- laravel-google-sheets
- Proyecto de demostración: ejemplos compatibles desde Laravel 5.5 hasta 13.
- Paquete relacionado: Google Search Console API for Laravel