Incluso el desarrollador más experimentado rara vez escribe código correctamente en el primer intento, por lo que la solución de problemas es una parte importante del proceso de desarrollo. En esta sección, se describen técnicas para encontrar, comprender y depurar errores en tus secuencias de comandos.
Mensajes de error
Cuando tu secuencia de comandos encuentra un error, aparece un mensaje de error con un número de línea. Existen dos tipos básicos de errores: errores de sintaxis y errores de tiempo de ejecución.
Errores de sintaxis
Los errores de sintaxis se producen cuando el código no sigue la gramática de JavaScript y se detectan cuando guardas la secuencia de comandos. Por ejemplo, el siguiente fragmento contiene un error de sintaxis:
function emailDataRow(rowNumber) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var rowData = data[rowNumber-1].join(" ";
MailApp.sendEmail('john@example.com',
'Data in row ' + rowNumber,
rowData);
}
El problema es que falta el carácter ) al final de la línea 4. Cuando guardes la secuencia de comandos, aparecerá el siguiente error:
Falta el paréntesis de cierre después de la lista de argumentos. (línea 4)
Estos errores se detectan de inmediato, por lo que es fácil solucionar los problemas. Solo se guarda el código válido en tu proyecto.
Errores de entorno de ejecución
Los errores de tiempo de ejecución se producen cuando una función o clase se usa de forma incorrecta y se detectan cuando se ejecuta la secuencia de comandos. Por ejemplo, el siguiente código genera un error de tiempo de ejecución:
function emailDataRow(rowNumber) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var rowData = data[rowNumber-1].join(" ");
MailApp.sendEmail('john',
'Data in row ' + rowNumber,
rowData);
}
Si bien el código tiene el formato correcto, "john" no es una dirección de correo electrónico válida. Se arroja el siguiente error:
Correo electrónico no válido: john (línea 5)
Estos errores son difíciles de detectar porque los datos suelen extraerse de fuentes externas, como hojas de cálculo o formularios. Usa técnicas de depuración para identificar la causa.
Errores comunes
A continuación, se incluye una lista de los errores comunes y sus causas.
El servicio se invocó demasiadas veces: <nombre de la acción>
Este error indica que superaste tu cuota diaria para una acción, como enviar demasiados correos electrónicos. Las cuotas varían según el tipo de cuenta y están sujetas a cambios. Consulta los límites en la documentación de cuotas de Apps Script.
El servidor no está disponible. o Se produjo un error en el servidor. Vuelve a intentarlo.
Entre las posibles causas, se incluyen las siguientes:
- Un servidor de Google no está disponible temporalmente. Espera y vuelve a intentarlo.
- Un error en tu secuencia de comandos no tiene un mensaje correspondiente. Intenta depurar el código para aislar el problema.
- Existe un error en Google Apps Script. Busca y registra informes de errores en Bugs.
Se requiere autorización para realizar esa acción.
La secuencia de comandos no tiene la autorización necesaria para ejecutarse. Cuando una secuencia de comandos se ejecuta desde un activador o como un servicio, no se puede presentar un diálogo de autorización.
Para autorizar la secuencia de comandos, abre el editor de secuencias de comandos y ejecuta cualquier función. Si la secuencia de comandos usa servicios nuevos no autorizados, debes volver a autorizarla.
Los activadores que se activan antes de la autorización o después del vencimiento suelen causar este error. Si un complemento causa este problema, vuelve a usarlo para volver a autorizarlo. Quita los activadores problemáticos:
- En el proyecto de Apps Script, haz clic en Activadores .
- Junto al activador, haz clic en Más > Borrar activador.
Como alternativa, desinstala el complemento.
Los permisos detallados también pueden causar estos errores. Consulta la página de alcances de autorización para proteger las ejecuciones de activadores.
Acceso denegado: DriveApp o La política de dominio inhabilitó las aplicaciones de Drive de terceros
Los administradores de Google Workspace pueden inhabilitar la API de Drive para su dominio, lo que impide que los usuarios utilicen las apps de Drive o los complementos de Apps Script que usan el servicio de Drive.
Si un complemento o una app web se publican para la instalación en todo el dominio y un administrador los instala, las funciones de la secuencia de comandos se ejecutan incluso si la API de Drive está inhabilitada.
La secuencia de comandos no tiene permiso para obtener la identidad del usuario activo.
La identidad y el correo electrónico del usuario activo no están disponibles. Esto se debe a las llamadas a Session.getActiveUser() o Session.getEffectiveUser() en modos de autorización que no sean AuthMode.FULL.
Si tu secuencia de comandos se ejecuta en un activador, puedes encontrar el modo de autorización en la propiedad authMode del objeto de evento de Apps Script.
Soluciona el problema según el modo de autorización:
- En
AuthMode.FULL, considera usarSession.getEffectiveUser()en su lugar. - En
AuthMode.LIMITED, asegúrate de que el propietario haya autorizado la secuencia de comandos. - En otros modos de autorización, evita llamar a cualquiera de los métodos.
- Si eres cliente de Google Workspace y acabas de recibir esta advertencia de un activador instalable, asegúrate de que el activador se ejecute como un usuario de tu organización.
Falta la biblioteca
Es posible que se informe que falta una biblioteca si demasiadas personas acceden a ella de forma simultánea. Para solucionar el problema, sigue estos pasos:
- Copia el código de la biblioteca directamente en tu secuencia de comandos.
- Copia y, luego, implementa la biblioteca desde tu propia cuenta.
- Si la biblioteca no es necesaria para que funcione tu secuencia de comandos, quítala del proyecto de la secuencia de comandos.
Se produjo un error debido a que faltaba una versión de la biblioteca o una versión de implementación. Código de error Not_Found
Este mensaje de error indica una de las siguientes situaciones:
- Se borró la versión de la secuencia de comandos que usaba una implementación. Para resolver este problema, edita la implementación y selecciona una versión diferente de la secuencia de comandos.
- Se borró una versión de la biblioteca que usaba la secuencia de comandos. Para resolver este problema, en el editor de secuencias de comandos, en "Bibliotecas", busca la biblioteca y actualízala a una versión diferente o quítala. Para actualizar, haz clic en el número de versión y selecciona otra. Para quitarla, haz clic en Más > Quitar.
- Una biblioteca incluye otra biblioteca, y se borró la versión de esa biblioteca. Para resolver este problema, comunícate con el autor de la biblioteca o usa una versión diferente de la biblioteca que usa tu secuencia de comandos.
Error 400: invalid_scope cuando se llama a la API de Google Chat con el servicio avanzado
Si encuentras Error 400: invalid_scope con el mensaje de error Some requested scopes cannot be shown, significa que no especificaste ningún alcance de autorización en el archivo appsscript.json del proyecto de Apps Script. En la mayoría de los casos, Apps Script determina automáticamente qué permisos necesita un script, pero cuando usas el servicio avanzado de Chat, debes agregar manualmente los permisos de autorización que usa tu script al archivo de manifiesto de tu proyecto de Apps Script. Consulta Cómo establecer permisos explícitos.
Para resolver el error, agrega los permisos de autorización adecuados al archivo appsscript.json del proyecto de Apps Script como parte del array oauthScopes. Por ejemplo, para llamar al método spaces.messages.create, agrega lo siguiente:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
El administrador no permite las llamadas de UrlFetch a <URL>
Los administradores de Google Workspace pueden usar una lista de entidades permitidas para controlar el acceso a dominios externos. Comunícate con tu administrador para que agregue la URL a la lista de entidades permitidas.
Depuración
Algunos errores son sutiles y no activan mensajes. Por ejemplo, es posible que tu código se ejecute, pero los resultados sean inesperados. Usa las siguientes estrategias para investigar los scripts que se comportan de forma inesperada.
Logging
Registra información a medida que se ejecuta una secuencia de comandos con el servicio de Cloud Logging o los servicios de Logger y de consola en el editor de secuencias de comandos.
Error Reporting
Para usar Error Reporting en Google Cloud, usa un proyecto estándar administrado por el usuario en lugar de un proyecto predeterminado.
Cuando usas un proyecto estándar, los errores de tiempo de ejecución se registran automáticamente en Google Cloud Error Reporting. Consulta los registros de Cloud y los informes de errores en la consola de Google Cloud.
Ejecuciones
Google Apps Script registra cada ejecución, incluidos los registros de Cloud. Para ver las ejecuciones, haz clic en Ejecuciones .
Cómo verificar el estado del servicio
Verifica si hay interrupciones en los servicios de Google Workspace en el Google Workspace Status Dashboard.
Usa el depurador y los puntos de interrupción
Para ubicar problemas en tu secuencia de comandos, puedes ejecutarla en modo de depuración. Cuando se ejecuta en modo de depuración, una secuencia de comandos se detiene cuando llega a un punto de interrupción, que es una línea que destacaste en tu secuencia de comandos y que crees que puede tener un problema. Cuando una secuencia de comandos se detiene, muestra el valor de cada variable en ese momento, lo que te permite inspeccionar el funcionamiento interno de una secuencia de comandos sin tener que agregar muchas instrucciones de registro.
Cómo agregar un punto de interrupción
Para agregar un punto de interrupción, coloca el cursor sobre el número de línea en la que deseas agregar el punto de interrupción. A la izquierda del número de línea, haz clic en el círculo. En la siguiente imagen, se muestra un ejemplo de un punto de interrupción agregado a una secuencia de comandos:

Ejecuta un script en modo de depuración
Para ejecutar la secuencia de comandos en modo de depuración, haz clic en Depurar en la parte superior del editor.
Antes de que la secuencia de comandos ejecute la línea con el punto de interrupción, se detiene y muestra una tabla de información de depuración. Puedes usar esta tabla para inspeccionar datos, como los valores de los parámetros y la información almacenada en los objetos.
Para controlar cómo se ejecuta la secuencia de comandos, usa los botones "Paso a paso", "Paso a paso por encima" y "Paso a paso para salir" en la parte superior del panel Depurador. Estos te permiten ejecutar el script línea por línea y observar cómo cambian los valores con el tiempo.
Error: El código fuente de la línea actual no está disponible

Este error aparece cuando no hay disponible un archivo de depuración activo.
Google Apps Script no admite la visualización de secuencias de comandos de JavaScript (JS) generadas de forma dinámica en el editor de secuencias de comandos, como las que se generan con eval() y new Function(). Estas secuencias de comandos se crean y ejecutan dentro del motor V8, pero no se representan como archivos independientes en el editor.
Si ingresas en estos scripts, encontrarás este error.
Por ejemplo, considera el siguiente código:
function myFunction() {
eval('a=2');
}
Cuando se invoca eval(), su argumento se trata como código de JS y se ejecuta como una secuencia de comandos creada de forma dinámica dentro del motor de V8. Si ingresas en eval(), aparecerá este error. Si el script incluye un comentario //# sourceURL, su nombre se muestra en la pila de llamadas. De lo contrario, aparecerá como una entrada sin nombre.
A pesar del mensaje de error, la sesión de depuración permanece activa y la ejecución puede continuar. Para continuar, sigue los pasos para entrar, salir o reanudar la ejecución. Sin embargo, este error seguirá apareciendo mientras la ejecución permanezca dentro del alcance de la secuencia de comandos dinámica. Después de que la ejecución sale del script dinámico, la depuración continúa sin este error.
Problemas con varias Cuentas de Google
Si accediste a varias Cuentas de Google al mismo tiempo, es posible que tengas problemas para acceder a tus complementos y aplicaciones web. El acceso múltiple o a varias Cuentas de Google al mismo tiempo no son compatibles con Apps Script, los complementos ni las aplicaciones web.
Si abres el editor de Apps Script mientras accediste a más de una cuenta, Google te pedirá que elijas la cuenta con la que quieres continuar.
Si abres una app web o un complemento y tienes problemas de acceso múltiple, prueba una de las siguientes soluciones:
- Sal de todas tus Cuentas de Google y accede solo a la que tenga el complemento o la aplicación web a los que quieres acceder.
- Abre una ventana de incógnito en Google Chrome o una ventana de navegación privada equivalente, y accede a la Cuenta de Google que tenga el complemento o la aplicación web a los que quieres acceder.
Cómo obtener ayuda
Visita nuestra página de asistencia para hacer preguntas o informar errores.