Method: triggers.fire

Notifica o Google de que um evento de acionamento ocorreu.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
name

string

Obrigatório. O nome do recurso do gatilho. Formato: triggers/{trigger_id}

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Campos
outputs

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

Opcional. As variáveis de saída do evento de acionamento no aplicativo de terceiros.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Opcional. Registro opcional voltado ao usuário para o evento de acionamento.

requestId

string

Opcional. Um identificador exclusivo para esta solicitação. Restrito a 36 caracteres ASCII. Recomendamos um UUID aleatório. Essa solicitação só será idempotente se um requestId for fornecido.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte o guia de autorização.

VariableData

Representa dados variáveis, que podem conter vários valores de diferentes tipos.

Representação JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Campos
booleanValues[]

boolean

Valores booleanos.

integerValues[]

string (int64 format)

Valores inteiros.

stringValues[]

string

Valores de string.

timestampValues[]

string (Timestamp format)

Valores de carimbo de data/hora.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Uma lista de IDs de recursos (por exemplo, "spaces/123").

resourceDataValues[]

object (ResourceData)

Uma lista de dados de recursos.

emailAddressValues[]

string

Valores de endereço de e-mail.

users[]

string

Valores de usuário do Google no formato users/{user}.

ResourceData

Valor de recurso específico do aplicativo.

Representação JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Campos
fields

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

Um mapa dos campos de recursos com chave pelo nome do campo.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Um bloco de texto com opções de formatação avançada, incluindo estilos, hiperlinks e elementos interativos.

Representação JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campos
textFormatElements[]

object (TextFormatElement)

Opcional. Uma coleção de elementos de formato de texto.

TextFormatElement

Um único elemento em uma mensagem WorkflowTextFormatMarkup, que pode ser um chip, texto estilizado, um hiperlink ou um contêiner de lista.

Representação JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Campos
Campo de união element. Elemento que representa um de vários elementos de formato de texto possíveis. element pode ser apenas de um dos tipos a seguir:
text

string

Texto no formato de texto.

chip

object (Chip)

Chip clicável no formato de texto.

styledText

object (StyledText)

Texto estilizado no formato de texto.

listContainer

object (ListContainer)

Contêiner de lista no formato de texto.

Ícone

Um ícone clicável no formato de texto.

Representação JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Campos
icon

object (Icon)

Opcional. O ícone exibido no ícone.

label

string

Opcional. O texto exibido no ícone.

url

string

Opcional. O URL para navegar quando o ícone é clicado.

Ícone

Um ícone no ícone.

Representação JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Campos
Campo de união icons. O ícone exibido no ícone. icons pode ser apenas de um dos tipos a seguir:
iconUrl

string

Mostra um ícone personalizado hospedado em um URL HTTPS.

Exemplo:

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

Os tipos de arquivo aceitos são .png e .jpg.

materialIcon

string

O nome do ícone definido no Ícone do Google Material. Por exemplo, check_box. Nomes inválidos são abandonados e substituídos por uma string vazia, o que faz com que o ícone não seja renderizado.

StyledText

Elemento do texto com estilos como negrito, itálico e cor.

Representação JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Campos
text

string

Opcional. O conteúdo principal do texto.

styles[]

enum (Style)

Opcional. Uma coleção de estilos aplicados ao texto.

fontWeight

enum (FontWeight)

Opcional. É o peso da fonte do texto.

color

object (Color)

Opcional. É a cor do texto.

wrapStyle

enum (WrapStyle)

Opcional. O estilo de ajuste do texto.

Estilo

Enumeração para diferentes estilos de texto, como itálico, sublinhado etc.

Tipos enumerados
STYLE_UNSPECIFIED Nenhum estilo aplicado.
ITALIC Estilo itálico.
UNDERLINE Estilo sublinhado.
STRIKETHROUGH Estilo tachado.
LINE_BREAK Quebra de linha.
UPPERCASE Estilo em maiúsculas.
CODE Code.
CODE_BLOCK Bloco de código.

FontWeight

Enumeração para diferentes pesos de fonte.

Tipos enumerados
FONT_WEIGHT_UNSPECIFIED Peso padrão com espessura normal.
LIGHT Mais leve e com espessura reduzida.
MEDIUM Peso intermediário entre leve e negrito.
BOLD Mais pesado e com maior espessura.

Cor

Representa uma cor no espaço de cores RGBA. Essa representação foi projetada para simplificar a conversão de e para representações de cores em vários idiomas, em vez de compactação. Por exemplo, os campos dessa representação podem ser fornecidos de maneira trivial ao construtor de java.awt.Color em Java, ao método +colorWithRed:green:blue:alpha de UIColor no iOS e, com um pouco de trabalho, podem ser formatados facilmente em uma string rgba() CSS em JavaScript.

Esta página de referência não tem informações sobre o espaço de cores absoluto que precisa ser usado para interpretar o valor RGB. Por exemplo, sRGB, Adobe RGB, DCI-P3 e BT.2020. Por padrão, os aplicativos usam o espaço de cores sRGB.

Quando a igualdade de cores precisa ser decidida, as implementações, a menos que documentadas de outra forma, tratam duas cores como iguais se todos os valores de vermelho, verde, azul e alfa diferirem em no máximo 1e-5.

Exemplo (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();
 }
 // ...

Exemplo (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;
}
// ...

Exemplo (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('');
};

// ...
Representação JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

A quantidade de vermelho na cor como um valor no intervalo [0, 1].

green

number

A quantidade de verde na cor como um valor no intervalo [0, 1].

blue

number

A quantidade de azul na cor como um valor no intervalo [0, 1].

alpha

number

A fração desta cor que deve ser aplicada ao pixel. Ou seja, a cor final do pixel é definida pela equação:

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

Isto significa que um valor de 1,0 corresponde a uma cor sólida, enquanto um valor de 0,0 corresponde a uma cor completamente transparente. Esse recurso usa uma mensagem de wrapper, em vez de um escalar flutuante simples, para que seja possível distinguir entre um valor padrão e o valor que está sendo desativado. Se o valor for omitido, este objeto de cor será renderizado como uma cor sólida, como se fosse informado explicitamente o valor de alfa de 1,0.

WrapStyle

Enumeração para diferentes estilos de quebra.

Tipos enumerados
WRAP_STYLE_UNSPECIFIED Nenhum estilo de quebra especificado.
NO_WRAP Sem estilo de quebra.

ListContainer

Contêiner para itens de lista, em que cada item pode conter vários TextFormatElement.

Representação JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Campos
listNestLevel

string (int64 format)

Opcional. O nível de aninhamento da lista. Começa em 0 para o nível superior e aumenta em 1 para cada lista aninhada.

listType

enum (ListType)

Opcional. O tipo da lista.

listItems[]

object (ListItem)

Opcional. Uma coleção de itens de lista.

ListType

Enumeração para diferentes tipos de lista.

Tipos enumerados
LIST_TYPE_UNSPECIFIED Nenhum tipo de lista especificado.
ORDERED Lista ordenada.
UNORDERED Lista não ordenada.

ListItem

Um item de lista.

Representação JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campos
textFormatElements[]

object (TextFormatElement)

Opcional. Uma coleção de elementos de formato de texto.