En este tutorial vamos a ver cómo usar Google Apps Script para importar tus contactos de Google Contacts directamente a Google Sheets utilizando el servicio People. Esto te permitirá gestionar y analizar tus contactos de forma mucho más práctica y automatizada, especialmente si tienes una lista grande que manejar. Te mostraré el método que yo uso, paso a paso, para que puedas replicarlo fácilmente.
Si prefieres ver el tutorial en video, te lo dejo a continuación:
1. Preparación del entorno para usar el servicio People
Antes de empezar a escribir código, necesitamos asegurarnos de que tenemos acceso al servicio People en Google Apps Script, que es el que nos permite acceder a los contactos. Para hacerlo, sigue estos pasos:
- Abre una hoja de cálculo nueva en Google Sheets.
- En el menú superior, selecciona Extensiones y luego Apps Script.
- En el editor de Apps Script, en la barra lateral izquierda, haz clic en el icono de Servicios (parece un lápiz).
- Busca el servicio llamado People API o simplemente People y haz clic en Añadir.
Con esto, ya tendremos el servicio listo para usar en nuestros scripts.
2. Creando la función para obtener tus contactos
Ahora vamos a crear una función básica que nos traiga la lista de contactos del usuario actual. Este es el código inicial que suelo usar:
function obtenerContactos() {
var contactos = People.People.connections.list("people/me", {
personFields: "names,emailAddresses,phoneNumbers"
});
Logger.log(contactos);
}
Te explico qué hace cada parte:
- «people/me»: Es el identificador que indica que queremos los contactos del usuario actual (tú).
- personFields: Aquí especificamos qué datos queremos obtener de cada contacto. En este caso, pedimos nombres, correos electrónicos y teléfonos.
3. Permisos para acceder a tus contactos
La primera vez que ejecutes la función, Google te pedirá que otorgues permisos para que el script pueda acceder a tus contactos. Esto es normal y necesario para que el proceso funcione. Solo acepta las solicitudes y continúa.
4. Guardando los contactos en Google Sheets
Para que los contactos se vean en tu hoja de cálculo, vamos a modificar la función para que escriba los datos directamente en las celdas. Aquí tienes un ejemplo completo y funcional:
function obtenerContactos() {
var hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
hoja.clear(); // Limpiar la hoja para evitar datos duplicados
var contactos = People.People.connections.list("people/me", {
personFields: "names,emailAddresses,phoneNumbers"
});
var listaContactos = contactos.connections;
if (listaContactos && listaContactos.length > 0) {
// Agregar encabezados
hoja.getRange(1, 1, 1, 3).setValues([["Nombre", "Email", "Teléfono"]]);
var datos = [];
for (var i = 0; i < listaContactos.length; i++) {
var contacto = listaContactos[i];
var nombre = contacto.names ? contacto.names[0].displayName : "Sin nombre";
var email = contacto.emailAddresses ? contacto.emailAddresses[0].value : "Sin email";
var telefono = contacto.phoneNumbers ? contacto.phoneNumbers[0].value : "Sin teléfono";
datos.push([nombre, email, telefono]);
}
hoja.getRange(2, 1, datos.length, 3).setValues(datos);
} else {
Logger.log("No se encontraron contactos.");
}
}
Lo que agregué aquí fue:
- Limpiar la hoja antes de insertar datos nuevos para no mezclar información.
- Agregar una fila de encabezados con los títulos Nombre, Email y Teléfono.
- Recorrer la lista de contactos y extraer la información que necesitamos, manejando casos donde falte algún dato.
- Insertar todos los datos en bloque para mejorar la eficiencia.
5. Cómo ejecutar y revisar los resultados
Para ver los contactos en tu hoja, solo tienes que ejecutar la función obtenerContactos desde el editor de Apps Script. Cuando termine, verás que tu hoja de cálculo se llena con los contactos organizados en columnas claras. Así puedes filtrarlos, ordenarlos o analizarlos como quieras.
Conclusión
En resumen, aprendimos a usar el servicio People de Google Apps Script para importar tus contactos a Google Sheets. Vimos cómo preparar el entorno, crear la función para obtener los datos, manejar permisos y finalmente cómo guardar toda la información en la hoja de cálculo con encabezados y datos limpios. Esto abre muchas posibilidades para gestionar tus contactos, hacer análisis o incluso crear automatizaciones personalizadas.
Como siguiente paso, te recomiendo explorar cómo manipular estos datos con funciones de Sheets o crear formularios para actualizar tus contactos de forma más dinámica.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.