- Solicitud HTTP
- Parámetros de ruta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- Chip
- Ícono
- StyledText
- Estilo
- FontWeight
- Color
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- Pruébalo
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 |
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 ( |
| Campos | |
|---|---|
outputs |
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 |
log |
Opcional. Es el registro opcional visible para el usuario del evento de activación. |
requestId |
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 |
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 ( |
| Campos | |
|---|---|
booleanValues[] |
Son valores booleanos. |
integerValues[] |
Valores de números enteros. |
stringValues[] |
Son valores de cadena. |
timestampValues[] |
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: |
resourceReferences[] |
Es una lista de IDs de recursos (p.ej., "spaces/123"). |
resourceDataValues[] |
Es una lista de datos de recursos. |
emailAddressValues[] |
Valores de direcciones de correo electrónico. |
users[] |
Son los valores de los usuarios de Google en el formato |
ResourceData
Es el valor del recurso específico de la aplicación.
| Representación JSON |
|---|
{
"fields": {
string: {
object ( |
| Campos | |
|---|---|
fields |
Es un mapa de los campos de recursos con clave según el nombre del campo. Un objeto que contiene una lista de pares |
TextFormat
Es un bloque de texto con opciones de formato enriquecido, como estilos, hipervínculos y elementos interactivos.
| Representación JSON |
|---|
{
"textFormatElements": [
{
object ( |
| Campos | |
|---|---|
textFormatElements[] |
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 ( |
| 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 |
Texto en formato de texto. |
chip |
Es un chip en el que se puede hacer clic en formato de texto. |
styledText |
Es el texto con estilo en formato de texto. |
hyperlink |
Es un hipervínculo en formato de texto. |
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 ( |
| Campos | |
|---|---|
icon |
Opcional. Ícono que se muestra en el chip. |
label |
Opcional. Es el texto que se muestra en el chip. |
url |
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 |
Muestra un ícono personalizado alojado en una URL HTTPS. Por ejemplo: Los tipos de archivo admitidos incluyen |
materialIcon |
Nombre del ícono definido en el ícono de Material de Google, por ejemplo, |
StyledText
Elemento de texto con estilos como negrita, cursiva y color.
| Representación JSON |
|---|
{ "text": string, "styles": [ enum ( |
| Campos | |
|---|---|
text |
Opcional. Es el contenido principal del texto. |
styles[] |
Opcional. Es una colección de estilos aplicados al texto. |
fontWeight |
Opcional. Es el grosor de la fuente del texto. |
color |
Opcional. Es el color del texto. |
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 |
La cantidad de rojo en el color como un valor en el intervalo [0, 1]. |
green |
La cantidad de verde en el color como un valor en el intervalo [0, 1]. |
blue |
La cantidad de azul en el color como un valor en el intervalo [0, 1]. |
alpha |
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:
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. |
Hipervínculo
Elemento de hipervínculo con texto y vínculo.
| Representación JSON |
|---|
{ "link": string, "text": string } |
| Campos | |
|---|---|
link |
Obligatorio. Es la URL de destino del hipervínculo. |
text |
Obligatorio. Es el texto del hipervínculo. |
ListContainer
Es un contenedor para elementos de lista, en el que cada elemento puede contener varios TextFormatElement.
| Representación JSON |
|---|
{ "listNestLevel": string, "listType": enum ( |
| Campos | |
|---|---|
listNestLevel |
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 |
Opcional. Es el tipo de lista. |
listItems[] |
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 ( |
| Campos | |
|---|---|
textFormatElements[] |
Opcional. Es una colección de elementos de formato de texto. |