Class ScriptApp

ScriptApp

Acceder y manipular la publicación de secuencias de comandos y los activadores Esta clase permite a los usuarios crear secuencias de comandos y controlan la publicación de la secuencia de comandos como un servicio.

Propiedades

PropiedadTipoDescripción
AuthModeAuthModeUna enumeración que identifica qué categorías de servicios autorizados puede Apps Script ejecutar a través de una función activada.
AuthorizationStatusAuthorizationStatusUna enumeración que denota el estado de autorización de una secuencia de comandos.
EventTypeEventTypeUna enumeración que denota el tipo de evento activado.
InstallationSourceInstallationSourceUna enumeración que indica cómo se instaló la secuencia de comandos para el usuario como complemento.
TriggerSourceTriggerSourceUna enumeración que indica la fuente del evento que hace que el activador se active.
WeekDayWeekdayUna enumeración que representa los días de la semana.

Métodos

MétodoTipo de datos que se muestraDescripción breve
deleteTrigger(trigger)voidQuita el activador determinado para que ya no se ejecute.
getAuthorizationInfo(authMode)AuthorizationInfoObtiene un objeto que se usa para determinar si el usuario debe autorizar esta secuencia de comandos para usar uno o más servicios, y proporcionar la URL para un diálogo de autorización.
getIdentityToken()StringObtiene un token de identidad de OpenID Connect para el usuario efectivo, si se otorgó el permiso openid.
getInstallationSource()InstallationSourceDevuelve un valor enum que indica cómo se instaló la secuencia de comandos como un complemento para el usuario actual (por ejemplo, si lo instaló personalmente a través de la Web Chrome o si un administrador de dominio la instaló para todos los usuarios).
getOAuthToken()StringObtiene el acceso OAuth 2.0 token correspondiente al usuario efectivo.
getProjectTriggers()Trigger[]Obtiene todos los activadores instalables asociados con el proyecto y el usuario actuales.
getScriptId()StringObtiene el ID único del proyecto de secuencia de comandos.
getService()ServiceObtiene un objeto que se usa para controlar la publicación de la secuencia de comandos como una aplicación web.
getUserTriggers(document)Trigger[]Obtiene todos los activadores instalables que son propiedad de este usuario en el documento determinado para esta secuencia de comandos o solo un complemento.
getUserTriggers(form)Trigger[]Obtiene todos los activadores instalables que pertenecen a este usuario en el formulario especificado para esta secuencia de comandos o este complemento. solamente.
getUserTriggers(spreadsheet)Trigger[]Obtiene todos los activadores instalables que son propiedad de este usuario en la hoja de cálculo determinada para esta secuencia de comandos o solo un complemento.
invalidateAuth()voidInvalida la autorización que tiene el usuario efectivo para ejecutar la secuencia de comandos actual.
newStateToken()StateTokenBuilderCrea un compilador para un token de estado que se puede usar en una API de devolución de llamada (como un flujo de OAuth).
newTrigger(functionName)TriggerBuilderInicia el proceso de creación de un activador instalable que, cuando se activa, llama a una función determinada.

Documentación detallada

deleteTrigger(trigger)

Quita el activador determinado para que ya no se ejecute.

// Deletes all triggers in the current project.
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
  ScriptApp.deleteTrigger(triggers[i]);
}

Parámetros

NombreTipoDescripción
triggerTriggerEl activador que se borrará.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

getAuthorizationInfo(authMode)

Obtiene un objeto que se usa para determinar si el usuario debe autorizar esta secuencia de comandos para usar uno o más servicios, y proporcionar la URL para un diálogo de autorización. Si la secuencia de comandos está publicada Como un complemento que usa activadores instalables, esta información se puede usarse para controlar el acceso a secciones de código para las que el usuario no tiene los autorización. De manera alternativa, el complemento puede pedirle al usuario que abra la URL para obtener la autorización. para resolver el problema.

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

Parámetros

NombreTipoDescripción
authModeAuthModeel modo de autorización para el cual se solicita la información de autorización en En la mayoría de los casos, el valor de authMode debería ser ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL), ya que ningún otro modo de autorización requiere que los usuarios otorguen autorización

Volver

AuthorizationInfo: Es un objeto que puede proporcionar información sobre el estado de autorización del usuario.


getIdentityToken()

Obtiene un token de identidad de OpenID Connect para el usuario efectivo, si se otorgó el permiso openid. Este permiso no está incluido y debes agregarlo como alcance explícito en el manifiesto para solicitarla. Incluye los permisos https://www.googleapis.com/auth/userinfo.email o https://www.googleapis.com/auth/userinfo.profile para mostrar valores adicionales la información del usuario en el token.

El token de ID que se muestra es un token web JSON (JWT) codificado. se debe decodificar para extraer información de él. En los siguientes ejemplos, se muestra cómo decodificar el token y extraer el ID de perfil de Google del usuario efectivo.

var idToken = ScriptApp.getIdentityToken();
var body = idToken.split('.')[1];
var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString();
var payload = JSON.parse(decoded);
var profileId = payload.sub;
Logger.log('Profile ID: ' + profileId);
Consulta OpenID Connect documentación para la lista completa de campos (claims) que se muestran.

Volver

String: Es el token de identidad, si está disponible. de lo contrario, null.


getInstallationSource()

Devuelve un valor enum que indica cómo se instaló la secuencia de comandos como un complemento para el usuario actual (por ejemplo, si lo instaló personalmente a través de la Web Chrome o si un administrador de dominio la instaló para todos los usuarios).

Volver

InstallationSource: Es la fuente de la instalación.


getOAuthToken()

Obtiene el acceso OAuth 2.0 token correspondiente al usuario efectivo. Si los permisos de OAuth de la secuencia de comandos son suficientes para autorizar otra API de Google que normalmente requiere su propio flujo de OAuth (como el selector de Google), las secuencias de comandos pueden omitir la el segundo mensaje de autorización pasando este token. El token expira después de un tiempo (un algunos minutos como mínimo); Las secuencias de comandos deben manejar los errores de autorización y llamar a este método para obtener un token nuevo cuando sea necesario.

El token que muestra este método solo incluye los alcances que la secuencia de comandos necesita en la actualidad. Los permisos que se autorizaron anteriormente, pero que la secuencia de comandos ya no usa, no se incluyen en el token que se devuelve. Si se necesitan permisos de OAuth adicionales aparte de los que ofrece la secuencia de comandos se pueden especificar en la sección .

Volver

String: Es una representación de cadena del token de OAuth 2.0.


getProjectTriggers()

Obtiene todos los activadores instalables asociados con el proyecto y el usuario actuales.

Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');

Volver

Trigger[]: Es un array de los activadores del usuario actual asociados con este proyecto.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

getScriptId()

Obtiene el ID único del proyecto de secuencia de comandos. Este es el método preferido para obtener el identificador único para el proyecto de secuencia de comandos, en lugar de getProjectKey(). Este ID se puede usar en todos los lugares en la que antes se proporcionó la clave del proyecto.

Volver

String: Es el ID del proyecto de secuencia de comandos.


getService()

Obtiene un objeto que se usa para controlar la publicación de la secuencia de comandos como una aplicación web.

// Get the URL of the published web app.
var url = ScriptApp.getService().getUrl();

Volver

Service: Es un objeto que se usa para observar y controlar la publicación de la secuencia de comandos como una app web.


getUserTriggers(document)

Obtiene todos los activadores instalables que son propiedad de este usuario en el documento determinado para esta secuencia de comandos o solo un complemento. No se puede usar este método para ver los activadores adjuntos a otras secuencias de comandos.

var doc = DocumentApp.getActiveDocument();
var triggers = ScriptApp.getUserTriggers(doc);
// Log the handler function for the first trigger in the array.
Logger.log(triggers[0].getHandlerFunction());

Parámetros

NombreTipoDescripción
documentDocumentUn archivo de Documentos de Google que puede contener activadores instalables.

Volver

Trigger[]: Es un array de activadores que pertenecen a este usuario en el documento determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(form)

Obtiene todos los activadores instalables que pertenecen a este usuario en el formulario especificado para esta secuencia de comandos o este complemento. solamente. No se puede usar este método para ver los activadores adjuntos a otras secuencias de comandos.

var form = FormApp.getActiveForm();
var triggers = ScriptApp.getUserTriggers(form);
// Log the trigger source for the first trigger in the array.
Logger.log(triggers[0].getTriggerSource());

Parámetros

NombreTipoDescripción
formFormUn archivo de Formularios de Google que puede contener activadores instalables.

Volver

Trigger[]: Es un array de activadores que pertenecen a este usuario en el formulario determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(spreadsheet)

Obtiene todos los activadores instalables que son propiedad de este usuario en la hoja de cálculo determinada para esta secuencia de comandos o solo un complemento. No se puede usar este método para ver los activadores adjuntos a otras secuencias de comandos.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ScriptApp.getUserTriggers(ss);
// Log the event type for the first trigger in the array.
Logger.log(triggers[0].getEventType());

Parámetros

NombreTipoDescripción
spreadsheetSpreadsheetUn archivo de Hojas de cálculo de Google que puede contener activadores instalables.

Volver

Trigger[]: Es un array de activadores que pertenecen a este usuario en la hoja de cálculo determinada.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

invalidateAuth()

Invalida la autorización que tiene el usuario efectivo para ejecutar la secuencia de comandos actual. Se usa para invalidar ningún permiso para la secuencia de comandos actual. Esto es muy útil para las funciones etiquetada como autorización única. Debido a que las funciones de autorización por única vez pueden llamarse ejecuta primero después de que la secuencia de comandos haya adquirido la autorización, si deseas realizar una acción Luego, debes revocar cualquier autorización de la secuencia de comandos para que el usuario pueda ver en el diálogo de autorización.

ScriptApp.invalidateAuth();

Arroja

Error: Cuando falla la invalidación


newStateToken()

Crea un compilador para un token de estado que se puede usar en una API de devolución de llamada (como un flujo de OAuth).

// Generate a callback URL, given the name of a callback function. The script does not need to
// be published as a web app; the /usercallback URL suffix replaces /edit in any script's URL.
function getCallbackURL(callbackFunction) {
  // IMPORTANT: Replace string below with the URL from your script, minus the /edit at the end.
  var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz';
  var urlSuffix = '/usercallback?state=';
  var stateToken = ScriptApp.newStateToken()
      .withMethod(callbackFunction)
      .withTimeout(120)
      .createToken();
  return scriptUrl + urlSuffix + stateToken;
}

En la mayoría de los flujos de OAuth2, el token state se pasa al extremo de autorización. directamente (no como parte de la URL de devolución de llamada), y el extremo de autorización la pasa como de la URL de devolución de llamada.

Por ejemplo:

  • La secuencia de comandos redirecciona al usuario a la URL de autorización de OAuth2: https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
  • El usuario hace clic en autorizar, y la página de autorización de OAuth2 lo redirecciona de vuelta a https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
  • El redireccionamiento anterior (vuelve a http://script.google.com/...) hace que el navegador a /usercallback, que invoca el método especificado por StateTokenBuilder.withMethod(method).

Volver

StateTokenBuilder: Es un objeto que se usa para continuar el proceso de compilación de tokens de estado.


newTrigger(functionName)

Inicia el proceso de creación de un activador instalable que, cuando se activa, llama a una función determinada.

// Creates an edit trigger for a spreadsheet identified by ID.
ScriptApp.newTrigger('myFunction')
    .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3')
    .onEdit()
    .create();

Parámetros

NombreTipoDescripción
functionNameStringLa función a la que se debe llamar cuando se activa el activador. Puedes usar funciones de bibliotecas incluidas, como Library.libFunction1.

Volver

TriggerBuilder: Es un objeto que se usa para continuar el proceso de compilación de activadores.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/script.scriptapp

Métodos obsoletos