Method: triggers.fire

Notifica a Google que se produjo un evento de activación.

Solicitud HTTP

POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
name

string

Obligatorio. Es el nombre del recurso del activador. Formato: triggers/{trigger_id}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Campos
outputs

map (key: string, value: object (VariableData))

Opcional. Son las variables de salida del evento de activación en la aplicación de terceros.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Opcional. Es el registro opcional visible para el usuario del evento de activación.

requestId

string

Opcional. Es un identificador único para esta solicitud. Se limita a 36 caracteres ASCII. Se recomienda usar un UUID aleatorio. Esta solicitud solo es idempotente si se proporciona un requestId.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/workspace.studio.trigger

Para obtener más información, consulta la Guía de autorización.

VariableData

Representa datos de variables, que pueden contener varios valores de diferentes tipos.

Representación JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Campos
booleanValues[]

boolean

Son valores booleanos.

integerValues[]

string (int64 format)

Valores de números enteros.

stringValues[]

string

Son valores de cadena.

timestampValues[]

string (Timestamp format)

Son los valores de la marca de tiempo.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Es una lista de IDs de recursos (p.ej., "spaces/123").

resourceDataValues[]

object (ResourceData)

Es una lista de datos de recursos.

emailAddressValues[]

string

Valores de direcciones de correo electrónico.

users[]

string

Son los valores de los usuarios de Google en el formato users/{user}.

ResourceData

Es el valor del recurso específico de la aplicación.

Representación JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Campos
fields

map (key: string, value: object (VariableData))

Es un mapa de los campos de recursos con clave según el nombre del campo.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Es un bloque de texto con opciones de formato enriquecido, como estilos, hipervínculos y elementos interactivos.

Representación JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campos
textFormatElements[]

object (TextFormatElement)

Opcional. Es una colección de elementos de formato de texto.

TextFormatElement

Es un solo elemento dentro de un mensaje WorkflowTextFormatMarkup, que puede ser un chip, texto con estilo, un hipervínculo o un contenedor de lista.

Representación JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Campos
Campo de unión element. Elemento que representa uno de los varios elementos de formato de texto posibles. element puede ser solo uno de los parámetros siguientes:
text

string

Texto en formato de texto.

chip

object (Chip)

Es un chip en el que se puede hacer clic en formato de texto.

styledText

object (StyledText)

Es el texto con estilo en formato de texto.

listContainer

object (ListContainer)

Es el contenedor de la lista en formato de texto.

Chip

Es un chip en el que se puede hacer clic en formato de texto.

Representación JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Campos
icon

object (Icon)

Opcional. Ícono que se muestra en el chip.

label

string

Opcional. Es el texto que se muestra en el chip.

url

string

Opcional. Es la URL a la que se navegará cuando se haga clic en el chip.

Ícono

Ícono en el chip.

Representación JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Campos
Campo de unión icons. Ícono que se muestra en el chip. icons puede ser solo uno de los parámetros siguientes:
iconUrl

string

Muestra un ícono personalizado alojado en una URL HTTPS.

Por ejemplo:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Los tipos de archivo admitidos incluyen .png y .jpg.

materialIcon

string

Nombre del ícono definido en el ícono de Material de Google, por ejemplo, check_box. Los nombres no válidos se descartan y se reemplazan por una cadena vacía, lo que provoca que el ícono no se renderice.

StyledText

Elemento de texto con estilos como negrita, cursiva y color.

Representación JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Campos
text

string

Opcional. Es el contenido principal del texto.

styles[]

enum (Style)

Opcional. Es una colección de estilos aplicados al texto.

fontWeight

enum (FontWeight)

Opcional. Es el grosor de la fuente del texto.

color

object (Color)

Opcional. Es el color del texto.

wrapStyle

enum (WrapStyle)

Opcional. Es el estilo de ajuste del texto.

Estilo

Es una enumeración para diferentes estilos de texto, como cursiva, subrayado, etcétera.

Enums
STYLE_UNSPECIFIED No se aplicó ningún estilo.
ITALIC Estilo en cursiva.
UNDERLINE Estilo de subrayado.
STRIKETHROUGH Es el estilo de tachado.
LINE_BREAK Salto de línea.
UPPERCASE Estilo en mayúsculas.
CODE Programa.
CODE_BLOCK Bloque de código.

FontWeight

Es una enumeración para diferentes pesos de fuente.

Enums
FONT_WEIGHT_UNSPECIFIED Peso estándar con grosor normal.
LIGHT Peso más ligero con un grosor reducido
MEDIUM Peso intermedio entre claro y negrita.
BOLD Peso más pesado con mayor grosor.

Color

Representa un color en el espacio de color RGBA. Esta representación está diseñada para facilitar la conversión a representaciones de color y desde ellas en varios idiomas, en lugar de priorizar la compacidad. Por ejemplo, los campos de esta representación se pueden proporcionar de forma trivial al constructor de java.awt.Color en Java, también se pueden proporcionar de forma trivial al método +colorWithRed:green:blue:alpha de UIColor en iOS y, con un poco de trabajo, se pueden formatear fácilmente en una cadena rgba() de CSS en JavaScript.

Esta página de referencia no contiene información sobre el espacio de color absoluto que se debe usar para interpretar el valor RGB (por ejemplo, sRGB, Adobe RGB, DCI-P3 y BT.2020). De forma predeterminada, las aplicaciones deben tener el espacio de color sRGB.

Cuando se debe decidir la igualdad de color, las implementaciones, a menos que se documente lo contrario, tratan dos colores como iguales si todos sus valores de rojo, verde, azul y alfa difieren en un máximo de 1e-5.

Ejemplo (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Ejemplo (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Ejemplo (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Representación JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

La cantidad de rojo en el color como un valor en el intervalo [0, 1].

green

number

La cantidad de verde en el color como un valor en el intervalo [0, 1].

blue

number

La cantidad de azul en el color como un valor en el intervalo [0, 1].

alpha

number

La fracción de este color que se debe aplicar al píxel. Es decir, el color del píxel final se define mediante la siguiente ecuación:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Esto significa que el valor 1.0 corresponde a un color sólido, mientras que el valor 0.0 corresponde a un color completamente transparente. Esto utiliza un mensaje de wrapper en lugar de un escalar flotante simple, para que sea posible distinguir entre un valor predeterminado y el valor que no se configura. Si se omite, este objeto de color se renderiza como un color sólido (como si el valor alfa se hubiera proporcionado de forma explícita con un valor de 1.0).

WrapStyle

Es una enumeración para los diferentes estilos de ajuste.

Enums
WRAP_STYLE_UNSPECIFIED No se especificó ningún estilo de ajuste.
NO_WRAP Sin estilo de ajuste.

ListContainer

Es un contenedor para elementos de lista, en el que cada elemento puede contener varios TextFormatElement.

Representación JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Campos
listNestLevel

string (int64 format)

Opcional. Es el nivel de anidación de la lista. Comienza en 0 para el nivel superior y aumenta en 1 para cada lista anidada.

listType

enum (ListType)

Opcional. Es el tipo de lista.

listItems[]

object (ListItem)

Opcional. Es una colección de elementos de lista.

ListType

Es una enumeración para los diferentes tipos de listas.

Enums
LIST_TYPE_UNSPECIFIED No se especificó ningún tipo de lista.
ORDERED Lista ordenada.
UNORDERED Lista sin ordenar.

ListItem

Es un elemento de la lista.

Representación JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campos
textFormatElements[]

object (TextFormatElement)

Opcional. Es una colección de elementos de formato de texto.