- HTTP 请求
- 路径参数
- 请求正文
- 响应正文
- 授权范围
- VariableData
- ResourceData
- TextFormat
- TextFormatElement
- 条状标签
- 图标
- StyledText
- 样式
- FontWeight
- 颜色
- WrapStyle
- Hyperlink
- ListContainer
- ListType
- ListItem
- 试试看!
通知 Google 触发事件已发生。
HTTP 请求
POST https://workspacestudio.googleapis.com/v1/{name=triggers/*}:fire
网址采用 gRPC 转码语法。
路径参数
| 参数 | |
|---|---|
name |
必需。触发器的资源名称。格式:triggers/{trigger_id} |
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "outputs": { string: { object ( |
| 字段 | |
|---|---|
outputs |
可选。第三方应用中触发事件的输出变量。 包含一系列 |
log |
可选。触发事件的可选面向用户的日志。 |
requestId |
可选。相应请求的唯一标识符。仅限 36 个 ASCII 字符。建议使用随机 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[] |
时间戳值。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
resourceReferences[] |
资源 ID 的列表(例如“spaces/123”)。 |
resourceDataValues[] |
资源数据列表。 |
emailAddressValues[] |
电子邮件地址值。 |
users[] |
格式为 |
ResourceData
应用专用资源值。
| JSON 表示法 |
|---|
{
"fields": {
string: {
object ( |
| 字段 | |
|---|---|
fields |
以字段名称为键的资源字段映射。 包含一系列 |
TextFormat
包含多种格式设置选项(包括样式、超链接和互动元素)的文本块。
| JSON 表示法 |
|---|
{
"textFormatElements": [
{
object ( |
| 字段 | |
|---|---|
textFormatElements[] |
可选。文本格式元素的集合。 |
TextFormatElement
WorkflowTextFormatMarkup 消息中的单个元素,可以是 chip、样式化文本、超链接或列表容器。
| JSON 表示法 |
|---|
{ "text": string, "chip": { object ( |
| 字段 | |
|---|---|
联合字段 element。表示多种可能的文本格式元素之一的元素。element 只能是下列其中一项: |
|
text |
文本格式的文本。 |
chip |
文本格式的可点击功能块。 |
styledText |
文本格式的样式化文本。 |
hyperlink |
文本格式的超链接。 |
listContainer |
文本格式的列表容器。 |
条状标签
文本格式的可点击 chip。
| JSON 表示法 |
|---|
{
"icon": {
object ( |
| 字段 | |
|---|---|
icon |
可选。条状标签中显示的图标。 |
label |
可选。条状标签中显示的文字。 |
url |
可选。点击条状标签后要前往的网址。 |
图标
贴块中的图标。
| JSON 表示法 |
|---|
{ "iconUrl": string, "materialIcon": string } |
| 字段 | |
|---|---|
联合字段 icons。条状标签中显示的图标。icons 只能是下列其中一项: |
|
iconUrl |
显示托管在 HTTPS 网址中的自定义图标。 例如: 支持的文件类型包括 |
materialIcon |
Google Material 图标中定义的图标名称,例如 |
StyledText
具有粗体、斜体和颜色等样式的文本元素。
| JSON 表示法 |
|---|
{ "text": string, "styles": [ enum ( |
| 字段 | |
|---|---|
text |
可选。文本的主要内容。 |
styles[] |
可选。应用于文本的样式集合。 |
fontWeight |
可选。文本的字体粗细。 |
color |
可选。文字的颜色。 |
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 颜色空间。
在需要确定颜色是否相等时,除非另有说明,否则如果两种颜色的红色、绿色、蓝色和 Alpha 值各自的差值不超过 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 表示完全透明的颜色。它会使用封装容器消息,而非简单的浮动标量,以便区分默认值和未设置的值。如果省略此字段,此颜色对象将呈现为纯色(就像已明确给定 Alpha 值为 1.0)。 |
WrapStyle
用于不同封装样式的枚举。
| 枚举 | |
|---|---|
WRAP_STYLE_UNSPECIFIED |
未指定任何换行样式。 |
NO_WRAP |
无换行样式。 |
超链接
包含文本和链接的超链接元素。
| JSON 表示法 |
|---|
{ "link": string, "text": string } |
| 字段 | |
|---|---|
link |
必需。超链接的目标网址。 |
text |
必需。超链接的文本。 |
ListContainer
列表项的容器,其中每个列表项可以包含多个 TextFormatElement。
| JSON 表示法 |
|---|
{ "listNestLevel": string, "listType": enum ( |
| 字段 | |
|---|---|
listNestLevel |
可选。列表的嵌套级别。从 0 开始(表示顶级列表),然后每嵌套一个列表就递增 1。 |
listType |
可选。列表的类型。 |
listItems[] |
可选。列表项的集合。 |
ListType
用于表示不同列表类型的枚举。
| 枚举 | |
|---|---|
LIST_TYPE_UNSPECIFIED |
未指定列表类型。 |
ORDERED |
有序列表。 |
UNORDERED |
无序列表。 |
ListItem
列表项。
| JSON 表示法 |
|---|
{
"textFormatElements": [
{
object ( |
| 字段 | |
|---|---|
textFormatElements[] |
可选。文本格式元素的集合。 |