- Solicitud HTTP
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Alcances de la autorización
- Estado
Ejecuta una función en un proyecto de Apps Script. El proyecto de secuencia de comandos debe implementarse para que se use con la API de Apps Script, y la aplicación que realiza la llamada debe compartir el mismo proyecto de Cloud Platform.
Este método requiere autorización con un token de OAuth 2.0 que incluya al menos uno de los alcances enumerados en la sección Autorización. Los proyectos de secuencias de comandos que no requieren autorización no se pueden ejecutar a través de esta API. Para encontrar los permisos correctos que deben incluirse en el token de autenticación, abre la página Descripción general del proyecto de secuencia de comandos y desplázate hasta "Permisos de OAuth del proyecto".
El error 403, PERMISSION_DENIED: The caller does not have permission
indica que el proyecto de Cloud Platform que se usó para autorizar la solicitud no es el mismo que se usa en la secuencia de comandos.
Solicitud HTTP
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de ruta de acceso
Parámetros | |
---|---|
scriptId |
El ID de la secuencia de comandos que se ejecutará. Busca el ID de la secuencia de comandos en la página Configuración del proyecto, en "IDs". |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
Campos | |
---|---|
function |
El nombre de la función que se ejecutará en la secuencia de comandos determinada. El nombre no incluye paréntesis ni parámetros. Puede hacer referencia a una función en una biblioteca incluida, como |
parameters[] |
Los parámetros que se pasarán a la función en ejecución. El tipo de objeto de cada parámetro debe coincidir con el tipo esperado en Apps Script. Los parámetros no pueden ser tipos de objetos específicos de Apps Script (como |
sessionState |
Obsoleto.. Solo para uso con complementos de Android. Un ID que representa la sesión actual del usuario en la app para Android para Hojas de cálculo o Documentos de Google, y se incluye como datos adicionales en el Intent que inicia el complemento. Cuando un complemento de Android se ejecuta con un estado de sesión, obtiene los privilegios de una secuencia de comandos vinculada, es decir, puede acceder a información como la posición actual del cursor del usuario (en Documentos) o la celda seleccionada (en Hojas de cálculo). Para recuperar el estado, llama a |
devMode |
Si |
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación de la ejecución de una función de Apps Script que comienza con run
. La respuesta de la ejecución no llega hasta que la función termina de ejecutarse. El entorno de ejecución máximo se indica en la guía de cuotas de Apps Script.
Después de que comienza la ejecución, puede tener uno de estos cuatro resultados:
- Si la función de secuencia de comandos muestra resultados correctamente, el campo
response
contiene un objetoExecutionResponse
con el valor que se muestra de la función en el camporesult
del objeto. - Si la función de secuencia de comandos (o la misma Apps Script) arroja una excepción, el campo
error
contiene un objetoStatus
. El campodetails
del objetoStatus
contiene un array con un solo objetoExecutionError
que proporciona información sobre la naturaleza del error. - Si aún no se completó la ejecución, el campo
done
tendrá el estadofalse
, y no estarán presentes los camposresponse
nierror
. - Si la llamada a
run
falla (por ejemplo, debido a una solicitud con formato incorrecto o un error de autorización), el método muestra un código de respuesta HTTP en el rango 4XX con un formato diferente para el cuerpo de la respuesta. Las bibliotecas cliente convierten automáticamente una respuesta 4XX en una clase de excepción.
Representación JSON |
---|
{ "done": boolean, // Union field |
Campos | |
---|---|
done |
Este campo indica si se completó la ejecución de la secuencia de comandos. Una ejecución completada tiene un campo |
Campo de unión result . El resultado de la operación, que puede ser un error o una response válida. Si done == false , no se establecen error ni response . Si done == true , se puede establecer exactamente uno de los valores error o response . Es posible que algunos servicios no proporcionen el resultado. result puede ser uno de los siguientes: |
|
error |
Si una llamada a |
response |
Si la función de secuencia de comandos se muestra correctamente, este campo contiene un objeto Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
Alcances de la autorización
Se necesita uno de los siguientes permisos de OAuth:
https://apps-apis.google.com/a/feeds
https://apps-apis.google.com/a/feeds/alias/
https://apps-apis.google.com/a/feeds/groups/
https://mail.google.com/
https://sites.google.com/feeds
https://www.google.com/calendar/feeds
https://www.google.com/m8/feeds
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/documents.currentonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/dynamiccreatives
https://www.googleapis.com/auth/forms
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/groups
https://www.googleapis.com/auth/script.cpanel
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/script.storage
https://www.googleapis.com/auth/script.webapp.deploy
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/sqlservice
https://www.googleapis.com/auth/userinfo.email
Para obtener más información, consulta la descripción general de OAuth 2.0.
Estado
Si una llamada a run
funciona correctamente, pero la función de secuencia de comandos (o la misma Apps Script) arroja una excepción, el campo error
del cuerpo de la respuesta contendrá este objeto Status
.
Representación JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
Campos | |
---|---|
code |
Es el código de estado. Para esta API, el valor:
|
message |
Un mensaje de error dirigido al desarrollador, que está en inglés. Cualquier mensaje de error para el usuario se localiza y envía en el campo |
details[] |
Un array que contiene un solo objeto Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |