Method: triggers.fire

トリガー イベントが発生したことを Google に通知します。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
name

string

必須。トリガーのリソース名。形式: triggers/{trigger_id}

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "outputs": {
    string: {
      object (VariableData)
    },
    ...
  },
  "log": {
    object (TextFormat)
  },
  "requestId": string
}
フィールド
outputs

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

省略可。サードパーティ アプリケーションのトリガー イベントからの出力変数。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

log

object (TextFormat)

省略可。トリガー イベントのユーザー向けログ(省略可)。

requestId

string

省略可。このリクエストの一意の識別子。36 個の ASCII 文字に制限されています。ランダムな UUID をおすすめします。このリクエストは、requestId が指定されている場合にのみべき等です。

レスポンスの本文

成功すると、レスポンスの本文は空になります。

認可スコープ

次の OAuth スコープが必要です。

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

詳しくは、承認ガイドをご覧ください。

VariableData

さまざまな型の複数の値を保持できる変数データを表します。

JSON 表現
{
  "booleanValues": [
    boolean
  ],
  "integerValues": [
    string
  ],
  "stringValues": [
    string
  ],
  "timestampValues": [
    string
  ],
  "resourceReferences": [
    string
  ],
  "resourceDataValues": [
    {
      object (ResourceData)
    }
  ],
  "emailAddressValues": [
    string
  ],
  "users": [
    string
  ]
}
フィールド
booleanValues[]

boolean

ブール値。

integerValues[]

string (int64 format)

整数値。

stringValues[]

string

文字列値。

timestampValues[]

string (Timestamp format)

タイムスタンプ値。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

resourceReferences[]

string

リソース ID のリスト(例: 「spaces/123」)。

resourceDataValues[]

object (ResourceData)

リソースデータのリスト。

emailAddressValues[]

string

メールアドレスの値。

users[]

string

Google ユーザーの値(users/{user} 形式)。

ResourceData

アプリケーション固有のリソース値。

JSON 表現
{
  "fields": {
    string: {
      object (VariableData)
    },
    ...
  }
}
フィールド
fields

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

フィールド名でキー付けされたリソース フィールドのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

TextFormat

スタイル、ハイパーリンク、インタラクティブな要素などのリッチな書式設定オプションを含むテキストのブロック。

JSON 表現
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
フィールド
textFormatElements[]

object (TextFormatElement)

省略可。テキスト形式要素のコレクション。

TextFormatElement

WorkflowTextFormatMarkup メッセージ内の単一の要素。チップ、スタイル付きテキスト、ハイパーリンク、リスト コンテナにすることができます。

JSON 表現
{

  "text": string,
  "chip": {
    object (Chip)
  },
  "styledText": {
    object (StyledText)
  },
  "hyperlink": {
    object (Hyperlink)
  },
  "listContainer": {
    object (ListContainer)
  }
}
フィールド
共用体フィールド element。複数のテキスト形式要素のいずれかを表す要素。element は次のいずれかになります。
text

string

テキスト形式のテキスト。

chip

object (Chip)

テキスト形式のクリック可能なチップ。

styledText

object (StyledText)

テキスト形式のスタイル付きテキスト。

listContainer

object (ListContainer)

テキスト形式のリスト コンテナ。

チップ

テキスト形式のクリック可能なチップ。

JSON 表現
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "url": string
}
フィールド
icon

object (Icon)

省略可。チップに表示されるアイコン。

label

string

省略可。チップに表示されるテキスト。

url

string

省略可。チップがクリックされたときに移動する URL。

アイコン

チップ内のアイコン。

JSON 表現
{

  "iconUrl": string,
  "materialIcon": string
}
フィールド
共用体フィールド icons。チップに表示されるアイコン。icons は次のいずれかになります。
iconUrl

string

HTTPS URL でホストされているカスタム アイコンを表示します。

次に例を示します。

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

サポートされているファイル形式は .png.jpg です。

materialIcon

string

Google マテリアル アイコンで定義されたアイコン名(check_box など)。無効な名前は破棄され、空の文字列に置き換えられます。これにより、アイコンのレンダリングが失敗します。

StyledText

太字、斜体、色などのスタイルを含むテキスト要素。

JSON 表現
{
  "text": string,
  "styles": [
    enum (Style)
  ],
  "fontWeight": enum (FontWeight),
  "color": {
    object (Color)
  },
  "wrapStyle": enum (WrapStyle)
}
フィールド
text

string

省略可。テキストのメイン コンテンツ。

styles[]

enum (Style)

省略可。テキストに適用されるスタイルのコレクション。

fontWeight

enum (FontWeight)

省略可。テキストのフォントの太さ。

color

object (Color)

省略可。テキストの色。

wrapStyle

enum (WrapStyle)

省略可。テキストの折り返しスタイル。

スタイル

斜体や下線などのさまざまなテキスト スタイルの列挙型。

列挙型
STYLE_UNSPECIFIED スタイルは適用されていません。
ITALIC 斜体スタイル。
UNDERLINE 下線のスタイル。
STRIKETHROUGH 取り消し線スタイル。
LINE_BREAK 改行。
UPPERCASE 大文字スタイル。
CODE Code.
CODE_BLOCK コードブロック。

FontWeight

さまざまなフォントの太さの列挙型。

列挙型
FONT_WEIGHT_UNSPECIFIED 標準の太さの標準のウェイト。
LIGHT 厚みが薄くなり、軽量化されました。
MEDIUM ライトとボールドの中間の太さ。
BOLD 厚みが増し、重量が増加。

RGBA カラースペースのカラーを表します。この表現は、コンパクトさよりも、さまざまな言語での色表現との変換の簡便性を重視して設計されています。たとえば、この表現のフィールドは Java の java.awt.Color のコンストラクタに簡単に提供できます。また、iOS の UIColor の +colorWithRed:green:blue:alpha メソッドにも簡単に提供できます。さらに、少しの作業で、JavaScript の CSS rgba() 文字列に簡単にフォーマットできます。

このリファレンス ページには、RGB 値の解釈に使用する必要がある絶対色空間(sRGB、Adobe RGB、DCI-P3、BT.2020 など)の情報は含まれていません。デフォルトでは、アプリケーションは sRGB 色空間を想定します。

色の等価性を判断する必要がある場合、実装では、特に明記されていない限り、赤、緑、青、アルファのすべての値がそれぞれ最大 1e-5 異なる場合、2 つの色は等しいものとして扱われます。

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

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

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

// ...
JSON 表現
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
フィールド
red

number

カラーの赤色の量。[0, 1] の範囲内の値として示されます。

green

number

カラーの緑色の量。[0, 1] の範囲内の値として示されます。

blue

number

カラーの青色の量。[0, 1] の範囲内の値として示されます。

alpha

number

ピクセルに適用する必要があるこのカラーの割合。つまり、最終ピクセルカラーは以下の式によって定義されます。

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

つまり、値 1.0 はソリッドカラーに相当し、値 0.0 は透明色に相当します。これは、単純な浮動小数点スカラーではなくラッパー メッセージを使用します。これにより、デフォルト値が設定されたのか未設定値だったのかを区別できます。省略された場合、このカラー オブジェクトは(alpha 値として明示的に値 1.0 が指定された場合と同様に)ソリッドカラーとしてレンダリングされます。

WrapStyle

さまざまな折り返しスタイルの列挙型。

列挙型
WRAP_STYLE_UNSPECIFIED 折り返しスタイルが指定されていません。
NO_WRAP 折り返しスタイルなし。

ListContainer

リスト項目のコンテナ。各リスト項目には複数の TextFormatElement を含めることができます。

JSON 表現
{
  "listNestLevel": string,
  "listType": enum (ListType),
  "listItems": [
    {
      object (ListItem)
    }
  ]
}
フィールド
listNestLevel

string (int64 format)

省略可。リストのネストレベル。最上位レベルは 0 から始まり、ネストされたリストごとに 1 ずつ増えます。

listType

enum (ListType)

省略可。リストのタイプ。

listItems[]

object (ListItem)

省略可。リストアイテムのコレクション。

ListType

さまざまなリストタイプの列挙型。

列挙型
LIST_TYPE_UNSPECIFIED リストタイプが指定されていません。
ORDERED 順序付きリスト。
UNORDERED 順序なしリスト。

ListItem

リストアイテム。

JSON 表現
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
フィールド
textFormatElements[]

object (TextFormatElement)

省略可。テキスト形式要素のコレクション。