Method: triggers.fire

트리거 이벤트가 발생했음을 Google에 알립니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
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

선택사항입니다. 이 요청의 고유 식별자입니다. ASCII 문자 36자로 제한됩니다. 임의의 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)

타임스탬프 값입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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

users/{user} 형식의 Google 사용자 값입니다.

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 Material Icon에 정의된 아이콘 이름입니다(예: 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_BLOCK 코드 블록

FontWeight

다양한 글꼴 두께의 enum입니다.

열거형
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만큼 차이가 나는 두 색상을 동일한 것으로 취급합니다.

예시(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 값은 완전히 투명한 색상에 해당합니다. 이 옵션은 단순한 부동 소수점 스칼라 대신 래퍼 메시지를 사용하므로 기본값과 설정되지 않은 값을 구분할 수 있습니다. 생략하면 이 색상 객체는 단색으로 렌더링됩니다 (알파 값이 1.0 값으로 명시적으로 지정된 경우).

WrapStyle

다양한 래핑 스타일의 enum입니다.

열거형
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

다양한 목록 유형의 enum입니다.

열거형
LIST_TYPE_UNSPECIFIED 목록 유형이 지정되지 않았습니다.
ORDERED 순서가 지정된 목록입니다.
UNORDERED 순서가 지정되지 않은 목록

ListItem

목록 항목입니다.

JSON 표현
{
  "textFormatElements": [
    {
      object (TextFormatElement)
    }
  ]
}
필드
textFormatElements[]

object (TextFormatElement)

선택사항입니다. 텍스트 형식 요소의 모음입니다.