Conectar Google Sheets con Power BI: Tres Métodos Explicados

Google Sheets es una herramienta poderosa para almacenar y manipular datos en la nube. Sin embargo, a menudo necesitamos conectar nuestras hojas de cálculo con otras plataformas de análisis, como Power BI, para visualización avanzada. En este tutorial, exploraremos tres métodos para obtener datos desde Google Sheets y utilizarlos en Power BI:

  1. Compartir la hoja públicamente y conectar con Power BI (Método rápido, pero menos seguro).
  2. Usar Google Apps Script para crear una API personalizada (Fácil de implementar y flexible).
  3. Utilizar la API oficial de Google Sheets (Más segura y escalable, pero requiere autenticación).

También repasaremos los riesgos de seguridad asociados con cada método para ayudarte a tomar la mejor decisión según tu caso de uso.


1️⃣ Compartir Google Sheets públicamente y conectarlo con Power BI (Fácil, pero menos seguro)

Pasos:

  1. Abre tu hoja de cálculo en Google Sheets.
  2. Haz clic en “Compartir” (arriba a la derecha).
  3. Cambia la configuración de acceso:
    • Selecciona “Cualquier persona con el enlace” y establece el permiso en “Ver”.
  4. Copia la URL de la hoja.
  5. Conéctala a Power BI:
    • En Power BI Desktop, ve a “Obtener datos”“Desde web”.
    • Pega la URL de la hoja de cálculo y presiona Aceptar.
    • Power BI importará los datos y podrás visualizarlos.

Ejemplo de URL y cómo encontrar el ID del Sheet:

Si tu hoja de cálculo tiene esta URL:

https://docs.google.com/spreadsheets/d/1xYzABC1234567890XYZ/edit

El ID del Sheet es la parte que está después de /d/ y antes de /edit:

1xYzABC1234567890XYZ

⚠️ Riesgos de seguridad:

  • Cualquier persona con el enlace puede acceder a la hoja.
  • Si alguien comparte la URL, los datos quedan expuestos.
  • No es ideal para datos sensibles o privados.

✅ Mejor para: Datos públicos o internos no críticos.


2️⃣ Crear una API con Google Apps Script (Fácil y flexible)

Este método permite obtener datos de Google Sheets a través de una URL, pero sin hacerla pública.

Pasos para crear la API:

  1. Abre Google Sheets y ve a Extensiones → Apps Script.
  2. Pega el siguiente código en el editor:
 function doGet() { var sheet = SpreadsheetApp.openById("1xYzABC1234567890XYZ").getSheetByName("Hoja 1"); var data = sheet.getDataRange().getValues(); var headers = data[0]; var jsonData = data.slice(1).map(row => { let obj = {}; headers.forEach((header, index) => { obj[header] = row[index]; }); return obj; }); return ContentService.createTextOutput(JSON.stringify({ clientes: jsonData })) .setMimeType(ContentService.MimeType.JSON); }
  1. Reemplaza 1xYzABC1234567890XYZ con el ID de tu Google Sheets.
  2. Despliega como Web App:
    • Haz clic en “Deploy” (Desplegar)“New Deployment”.
    • En “Tipo”, selecciona “Web App”.
    • En “Ejecutar como”, elige “Yo”.
    • En “Quién tiene acceso”, selecciona “Cualquiera con el enlace”.
    • Copia la URL generada.
  3. Conéctalo con Power BI:
    • En Power BI, ve a “Obtener datos”“Desde web”.
    • Pega la URL del script y carga los datos.

✅ Ventajas:

  • Más seguro que compartir la hoja públicamente.
  • Se pueden aplicar filtros y lógica adicional en el script.

⚠️ Riesgos de seguridad:

  • Si la URL se filtra, cualquier persona puede acceder.
  • Requiere actualizar manualmente el script si cambia la estructura de la hoja.

✅ Mejor para: Pequeñas empresas y proyectos internos.


3️⃣ Usar la API oficial de Google Sheets (Más segura y escalable)

Si necesitas una integración más segura y escalable, puedes usar la API oficial de Google Sheets.

Pasos para obtener una API Key:

  1. Crea un proyecto en Google Cloud:
  2. Genera una API Key:
    • En “Credenciales”“Crear credenciales”“Clave de API”.
    • Copia la clave generada.
  3. Obtén los datos desde la API:
    • Usa una URL como esta: https://sheets.googleapis.com/v4/spreadsheets/1xYzABC1234567890XYZ/values/Hoja1?key=TU_API_KEY
  4. Conéctalo con Power BI:
    • En Power BI, ve a “Obtener datos”“Desde web”.
    • Pega la URL con tu API Key y carga los datos.

✅ Ventajas:

  • Máxima seguridad y control.
  • Permite autenticación y acceso restringido.

⚠️ Riesgos de seguridad:

  • La API Key debe protegerse, ya que permite acceso a los datos.
  • Se requiere una cuenta de Google Cloud para gestionar permisos.

✅ Mejor para: Empresas que manejan datos sensibles y necesitan seguridad avanzada.


🔎 Comparación de Métodos

MétodoSeguridadFacilidadIdeal para
Compartir públicamenteBaja 🚨Muy fácil ✅Datos públicos
Google Apps Script (API personalizada)Media 🔐Fácil ✅Datos internos no sensibles
API oficial de Google SheetsAlta 🔒Avanzado ⚡Datos privados y escalabilidad

📌 Conclusión

Si necesitas una solución rápida, compartir la hoja públicamente es la opción más sencilla, pero menos segura. Para mayor control, puedes crear una API con Google Apps Script. Sin embargo, si manejas información sensible y buscas escalabilidad, lo mejor es usar la API oficial de Google Sheets con autenticación.

🔥 Power BI puede conectarse con cualquiera de estos métodos, permitiéndote analizar y visualizar tus datos de Google Sheets en tiempo real.

📩 ¿Tienes dudas o quieres ayuda para implementar alguna opción? ¡Déjamelo en los comentarios! 🚀


Comments

Deja un comentario