Ejecutar funciones de Apps Script

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

En los ejemplos de esta página, se ilustra cómo se pueden lograr 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 Cómo ejecutar una función.

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

  1. En el proyecto de Apps Script, en la parte superior izquierda, haz clic en Configuración del proyecto .
  2. Junto a “ID de 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 el objeto 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 versión guardada más recientemente de la función, independientemente de 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 de Apps Script llamada, contiene los resultados de la ejecución o una respuesta de error. En este ejemplo, la función devuelve correctamente un array de nombres de archivos:

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

Si la función encontró un error durante la ejecución de Apps Script, la respuesta podría verse de la siguiente manera:

{
  "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
        }]
      }]
    }
  }
}