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)

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