- HTTP 요청
- 경로 파라미터
- 요청 본문
- 응답 본문
- 승인 범위
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- 칩
- 아이콘
- StyledText
- 스타일
- FontWeight
- Color
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- 사용해 보기
트리거 이벤트가 발생했음을 Google에 알립니다.
HTTP 요청
POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire
URL은 gRPC 트랜스코딩 구문을 사용합니다.
경로 매개변수
| 매개변수 | |
|---|---|
name |
필수 항목입니다. 트리거의 리소스 이름입니다. 형식: triggers/{trigger_id} |
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "outputs": { string: { object ( |
| 필드 | |
|---|---|
outputs |
선택사항입니다. 서드 파티 애플리케이션의 트리거 이벤트에서 출력되는 변수입니다.
|
log |
선택사항입니다. 트리거 이벤트의 선택적 사용자 대상 로그입니다. |
requestId |
선택사항입니다. 이 요청의 고유 식별자입니다. ASCII 문자 36자로 제한됩니다. 임의의 UUID를 사용하는 것이 좋습니다. 이 요청은 |
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
승인 범위
다음 OAuth 범위가 필요합니다.
https://www.googleapis.com/auth/workspace.studio.trigger
자세한 내용은 승인 가이드를 참고하세요.
VariableData
다양한 유형의 값을 여러 개 보유할 수 있는 변수 데이터를 나타냅니다.
| JSON 표현 |
|---|
{
"booleanValues": [
boolean
],
"integerValues": [
string
],
"stringValues": [
string
],
"timestampValues": [
string
],
"resourceReferences": [
string
],
"resourceDataValues": [
{
object ( |
| 필드 | |
|---|---|
booleanValues[] |
불리언 값입니다. |
integerValues[] |
정수 값입니다. |
stringValues[] |
문자열 값입니다. |
timestampValues[] |
타임스탬프 값입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
resourceReferences[] |
리소스 ID 목록 (예: 'spaces/123')입니다. |
resourceDataValues[] |
리소스 데이터 목록입니다. |
emailAddressValues[] |
이메일 주소 값입니다. |
users[] |
|
ResourceData
애플리케이션별 리소스 값입니다.
| JSON 표현 |
|---|
{
"fields": {
string: {
object ( |
| 필드 | |
|---|---|
fields |
필드 이름으로 키가 지정된 리소스 필드의 맵입니다.
|
TextFormat
스타일, 하이퍼링크, 대화형 요소를 비롯한 다양한 서식 옵션이 있는 텍스트 블록입니다.
| JSON 표현 |
|---|
{
"textFormatElements": [
{
object ( |
| 필드 | |
|---|---|
textFormatElements[] |
선택사항입니다. 텍스트 형식 요소의 모음입니다. |
TextFormatElement
WorkflowTextFormatMarkup 메시지 내의 단일 요소로, 칩, 스타일이 지정된 텍스트, 하이퍼링크 또는 목록 컨테이너일 수 있습니다.
| JSON 표현 |
|---|
{ "text": string, "chip": { object ( |
| 필드 | |
|---|---|
통합 필드 element. 가능한 여러 텍스트 형식 요소 중 하나를 나타내는 요소입니다. element은 다음 중 하나여야 합니다. |
|
text |
텍스트 형식의 텍스트입니다. |
chip |
텍스트 형식의 클릭 가능한 칩입니다. |
styledText |
텍스트 형식의 스타일이 지정된 텍스트입니다. |
hyperlink |
텍스트 형식의 하이퍼링크입니다. |
listContainer |
텍스트 형식의 목록 컨테이너 |
칩
텍스트 형식의 클릭 가능한 칩입니다.
| JSON 표현 |
|---|
{
"icon": {
object ( |
| 필드 | |
|---|---|
icon |
선택사항입니다. 칩에 표시되는 아이콘입니다. |
label |
선택사항입니다. 칩에 표시되는 텍스트입니다. |
url |
선택사항입니다. 칩을 클릭할 때 이동할 URL입니다. |
아이콘
칩의 아이콘
| JSON 표현 |
|---|
{ "iconUrl": string, "materialIcon": string } |
| 필드 | |
|---|---|
통합 필드 icons. 칩에 표시되는 아이콘입니다. icons은 다음 중 하나여야 합니다. |
|
iconUrl |
HTTPS URL에서 호스팅되는 맞춤 아이콘을 표시합니다. 예를 들면 다음과 같습니다. 지원되는 파일 형식에는 |
materialIcon |
Google Material Icon에 정의된 아이콘 이름입니다(예: |
StyledText
굵게, 기울임꼴, 색상과 같은 스타일이 적용된 텍스트 요소
| JSON 표현 |
|---|
{ "text": string, "styles": [ enum ( |
| 필드 | |
|---|---|
text |
선택사항입니다. 텍스트의 기본 콘텐츠입니다. |
styles[] |
선택사항입니다. 텍스트에 적용된 스타일 모음입니다. |
fontWeight |
선택사항입니다. 텍스트의 글꼴 두께입니다. |
color |
선택사항입니다. 텍스트의 색상입니다. |
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 |
[0, 1] 간격의 값으로 표시되는 색상의 빨간색 양입니다. |
green |
[0, 1] 간격의 값으로 표시되는 색상의 녹색 양입니다. |
blue |
[0, 1] 간격의 값으로 표시되는 색상의 파란색 양입니다. |
alpha |
픽셀에 적용해야 하는 이 색상의 비율입니다. 즉, 최종 픽셀 색상은 등식으로 정의됩니다.
즉, 1.0 값은 단색에 해당하는 반면 0.0 값은 완전히 투명한 색상에 해당합니다. 이 옵션은 단순한 부동 소수점 스칼라 대신 래퍼 메시지를 사용하므로 기본값과 설정되지 않은 값을 구분할 수 있습니다. 생략하면 이 색상 객체는 단색으로 렌더링됩니다 (알파 값이 1.0 값으로 명시적으로 지정된 경우). |
WrapStyle
다양한 래핑 스타일의 enum입니다.
| 열거형 | |
|---|---|
WRAP_STYLE_UNSPECIFIED |
줄바꿈 스타일이 지정되지 않았습니다. |
NO_WRAP |
줄바꿈 스타일이 없습니다. |
하이퍼링크
텍스트와 링크가 있는 하이퍼링크 요소
| JSON 표현 |
|---|
{ "link": string, "text": string } |
| 필드 | |
|---|---|
link |
필수 항목입니다. 하이퍼링크의 도착 URL입니다. |
text |
필수 항목입니다. 하이퍼링크의 텍스트입니다. |
ListContainer
목록 항목의 컨테이너로, 각 목록 항목에는 여러 TextFormatElement가 포함될 수 있습니다.
| JSON 표현 |
|---|
{ "listNestLevel": string, "listType": enum ( |
| 필드 | |
|---|---|
listNestLevel |
선택사항입니다. 목록의 중첩 수준입니다. 최상위 수준은 0부터 시작하며 중첩된 목록마다 1씩 증가합니다. |
listType |
선택사항입니다. 목록의 유형입니다. |
listItems[] |
선택사항입니다. 목록 항목의 컬렉션입니다. |
ListType
다양한 목록 유형의 enum입니다.
| 열거형 | |
|---|---|
LIST_TYPE_UNSPECIFIED |
목록 유형이 지정되지 않았습니다. |
ORDERED |
순서가 지정된 목록입니다. |
UNORDERED |
순서가 지정되지 않은 목록 |
ListItem
목록 항목입니다.
| JSON 표현 |
|---|
{
"textFormatElements": [
{
object ( |
| 필드 | |
|---|---|
textFormatElements[] |
선택사항입니다. 텍스트 형식 요소의 모음입니다. |