Ejecutar funciones de Apps Script

La API de Apps Script (y anteriormente la API de Apps Script Execution) te permite ejecutar una función de forma remota en un proyecto de secuencia de comandos al que tienes acceso. Tu app puede llamar a una función determinada de Apps Script, proporcionarla parámetros de entrada si es necesario y recibir una respuesta.

En los ejemplos de esta página, se muestra cómo realizar algunas operaciones de ejecución comunes con la API. Para obtener más información incluidos los requisitos de autorización especiales, consulta la guía Ejecuta una función.

En estos ejemplos, los marcadores de posición scriptId se usan para indicar dónde proporcionarías el ID del proyecto de la secuencia de comandos. Sigue los pasos que se indican a continuación para encontrar el ID de la secuencia de comandos:

  1. En el proyecto de Apps Script, en la parte superior izquierda, haz clic en Configuración del proyecto .
  2. Junto a "ID de la secuencia de comandos", haz clic en Copiar.

Ejecutar una función

La siguiente solicitud scripts.run llama a una función de Apps Script llamada listFolderContent y le pasa la folderId de Drive y un número entero MAX_SIZE como argumentos. La función se ejecuta en modo de desarrollo, lo que significa que se ejecuta la última versión de la función guardada, sin importar qué versión se implemente como ejecutable.

A continuación, se muestra el protocolo de solicitud. En la guía Cómo ejecutar funciones, se muestra cómo implementar una solicitud de ejecución en diferentes lenguajes con las bibliotecas cliente de la API de Google.

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

La respuesta a esta solicitud, una vez que se completa la función Apps Script a la que se llama, contiene los resultados de la ejecución o una respuesta de error. En este ejemplo, la función muestra correctamente un arreglo de nombres de archivo:

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

Si la función detectó un error durante la ejecución de Apps Script, la respuesta podría ser así:

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}