Method: triggers.fire

Comunica a Google che si è verificato un evento trigger.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
name

string

Obbligatorio. Il nome della risorsa del trigger. Formato: triggers/{trigger_id}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
Campi
outputs

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

Facoltativo. Le variabili di output dell'evento trigger nell'applicazione di terze parti.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

log

object (TextFormat)

Facoltativo. Log facoltativo visibile all'utente per l'evento trigger.

requestId

string

Facoltativo. Un identificatore univoco per questa richiesta. Limitato a 36 caratteri ASCII. È consigliabile utilizzare un UUID casuale. Questa richiesta è idempotente solo se viene fornito un requestId.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per ulteriori informazioni, consulta la Guida all'autorizzazione.

VariableData

Rappresenta dati variabili, che possono contenere più valori di tipi diversi.

Rappresentazione JSON
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
Campi
booleanValues[]

boolean

Valori booleani.

integerValues[]

string (int64 format)

Valori interi.

stringValues[]

string

Valori stringa.

timestampValues[]

string (Timestamp format)

Valori timestamp.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

resourceReferences[]

string

Un elenco di ID risorsa (ad es. "spaces/123").

resourceDataValues[]

object (ResourceData)

Un elenco di dati delle risorse.

emailAddressValues[]

string

Valori dell'indirizzo email.

users[]

string

Valori utente Google nel formato users/{user}.

ResourceData

Valore risorsa specifico dell'applicazione.

Rappresentazione JSON
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
Campi
fields

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

Una mappa dei campi delle risorse con chiave in base al nome del campo.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TextFormat

Un blocco di testo con opzioni di formattazione avanzate, tra cui stili, link ipertestuali ed elementi interattivi.

Rappresentazione JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campi
textFormatElements[]

object (TextFormatElement)

Facoltativo. Una raccolta di elementi di formato del testo.

TextFormatElement

Un singolo elemento all'interno di un messaggio WorkflowTextFormatMarkup, che può essere un chip, un testo formattato, un link ipertestuale o un contenitore di elenchi.

Rappresentazione JSON
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
Campi
Campo unione element. Elemento che rappresenta uno dei diversi elementi di formato di testo possibili. element può essere solo uno dei seguenti tipi:
text

string

Testo in formato di testo.

chip

object (Chip)

Chip cliccabile nel formato di testo.

styledText

object (StyledText)

Testo formattato nel formato di testo.

listContainer

object (ListContainer)

Elenca il contenitore nel formato di testo.

Chip

Un chip cliccabile in formato di testo.

Rappresentazione JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
Campi
icon

object (Icon)

Facoltativo. L'icona visualizzata nel chip.

label

string

Facoltativo. Il testo visualizzato nel chip.

url

string

Facoltativo. L'URL a cui passare quando si fa clic sul chip.

Icona

Un'icona nel chip.

Rappresentazione JSON
{

  "iconUrl": string,
  "materialIcon": string
}
Campi
Campo unione icons. L'icona visualizzata nel chip. icons può essere solo uno dei seguenti tipi:
iconUrl

string

Mostra un'icona personalizzata ospitata a un URL HTTPS.

Ad esempio:

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

I tipi di file supportati includono .png e .jpg.

materialIcon

string

Il nome dell'icona definito in Google Material Icon, ad esempio check_box. I nomi non validi vengono abbandonati e sostituiti con una stringa vuota, pertanto l'icona non viene visualizzata.

StyledText

Elemento di testo con stili come grassetto, corsivo e colore.

Rappresentazione JSON
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
Campi
text

string

Facoltativo. I contenuti principali del testo.

styles[]

enum (Style)

Facoltativo. Una raccolta di stili applicati al testo.

fontWeight

enum (FontWeight)

Facoltativo. Lo spessore del carattere del testo.

color

object (Color)

Facoltativo. Il colore del testo.

wrapStyle

enum (WrapStyle)

Facoltativo. Lo stile di ritorno a capo del testo.

Stile

Enumerazione per diversi stili di testo, ad esempio corsivo, sottolineato e così via.

Enum
STYLE_UNSPECIFIED Nessuno stile applicato.
ITALIC Stile corsivo.
UNDERLINE Stile sottolineatura.
STRIKETHROUGH Stile barrato.
LINE_BREAK Interruzione di riga.
UPPERCASE Stile maiuscolo.
CODE Codifica.
CODE_BLOCK Blocco di codice.

FontWeight

Enumerazione per diversi spessori del carattere.

Enum
FONT_WEIGHT_UNSPECIFIED Peso standard con spessore normale.
LIGHT Peso ridotto e spessore inferiore.
MEDIUM Peso intermedio tra leggero e grassetto.
BOLD Peso maggiore con spessore aumentato.

Colore

Rappresenta un colore nello spazio colore RGBA. Questa rappresentazione è progettata per semplificare la conversione da e verso le rappresentazioni dei colori in varie lingue, piuttosto che per la compattezza. Ad esempio, i campi di questa rappresentazione possono essere forniti in modo banale al costruttore di java.awt.Color in Java; possono anche essere forniti in modo banale al metodo +colorWithRed:green:blue:alpha di UIColor in iOS; e, con un po' di lavoro, possono essere facilmente formattati in una stringa rgba() CSS in JavaScript.

Questa pagina di riferimento non contiene informazioni sullo spazio colore assoluto da utilizzare per interpretare il valore RGB, ad esempio sRGB, Adobe RGB, DCI-P3 e BT.2020. Per impostazione predefinita, le applicazioni devono utilizzare lo spazio colore sRGB.

Quando è necessario decidere l'uguaglianza dei colori, le implementazioni, se non diversamente documentato, considerano due colori uguali se tutti i loro valori di rosso, verde, blu e alfa differiscono al massimo di 1e-5.

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

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

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

// ...
Rappresentazione JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campi
red

number

La quantità di rosso nel colore come valore nell'intervallo [0, 1].

green

number

La quantità di verde nel colore come valore nell'intervallo [0, 1].

blue

number

La quantità di blu nel colore come valore nell'intervallo [0, 1].

alpha

number

La frazione di questo colore da applicare al pixel. ovvero il colore finale del pixel è definito dall'equazione:

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

Ciò significa che un valore pari a 1,0 corrisponde a un colore pieno, mentre un valore pari a 0,0 corrisponde a un colore completamente trasparente. Utilizza un messaggio wrapper anziché uno scalare float semplice, in modo da poter distinguere tra un valore predefinito e il valore non impostato. Se omesso, questo oggetto colore viene visualizzato come un colore solido (come se al valore alfa fosse stato assegnato esplicitamente un valore di 1.0).

WrapStyle

Enumerazione per diversi stili di wrapping.

Enum
WRAP_STYLE_UNSPECIFIED Nessuno stile di wrapping specificato.
NO_WRAP Nessuno stile di wrapping.

ListContainer

Contenitore per gli elementi dell'elenco, in cui ogni elemento dell'elenco può contenere più TextFormatElement.

Rappresentazione JSON
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
Campi
listNestLevel

string (int64 format)

Facoltativo. Il livello di nidificazione dell'elenco. Inizia da 0 per il livello superiore e aumenta di 1 per ogni elenco nidificato.

listType

enum (ListType)

Facoltativo. Il tipo di elenco.

listItems[]

object (ListItem)

Facoltativo. Una raccolta di elementi dell'elenco.

ListType

Enumerazione per i diversi tipi di elenchi.

Enum
LIST_TYPE_UNSPECIFIED Nessun tipo di elenco specificato.
ORDERED Elenco ordinato.
UNORDERED Elenco non ordinato.

ListItem

Una voce dell'elenco.

Rappresentazione JSON
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
Campi
textFormatElements[]

object (TextFormatElement)

Facoltativo. Una raccolta di elementi di formato del testo.