本页面概述了 Google Workspace 插件事件对象的结构。
事件对象是自动构建和传递的 JSON 结构 作为参数,以便在用户与 插件。事件对象携带了关于托管应用和 传递给插件的服务器端回调函数。
Google Workspace 插件会在以下位置使用事件对象:
首页触发器。 您定义的每个
homepageTrigger
函数都会自动传递一个事件 对象触发。您可以在 您的首页触发器函数,用于识别处于活动状态的托管应用,即客户端的 平台、用户语言区域和其他信息。首页触发器触发时创建的事件对象不包含 字段;与微件和 上下文信息。
上下文触发器。 每个宿主应用都提供一组不同的上下文触发器, 在用户进入特定上下文时触发。例如:
当上下文触发器触发时,托管应用会调用 对应的
runFunction
,向其传递一个 事件对象作为参数传递。使用上下文关联时创建的事件对象, 触发器触发包含首页触发器事件中包含的所有字段 对象以及包含上下文信息的字段。微件操作。事件对象 也用于提供widget 交互性, 操作模型 。Google Workspace 插件使用相同的 widget 处理程序功能,
Action
对象和操作 响应。不过,在 Google Workspace 插件中, 操作事件对象 包含回调函数可以作用于的更多详细信息。作为微件操作结果创建的事件对象包含所有 上下文触发器事件对象中包含的字段,以及包含 微件信息。
预览链接触发器。 在 Google 文档、表格和幻灯片中,您可以执行以下操作: 为第三方服务配置链接预览 根据特定网址格式来预测当用户与满足以下要求的链接进行互动时 模式、
linkPreviewTriggers
都会触发,并且包含该链接的事件对象会传递到触发器的 回调函数。您的插件可以使用此事件对象构造 可显示主机内链接相关信息的智能条状标签和卡片 应用。您还可以构建 widget 操作, 预览卡片及其内容
事件对象结构
下表介绍了
Google Workspace 插件事件对象。活动
对象结构包含一个 commonEventObject
与主机无关的信息的顶级字段。每个事件对象还可以
包含以下某个主机专有的顶级字段(由
有效的托管应用:gmailEventObject
,
calendarEventObject
或 driveEventObject
。
为了向后兼容,Google Workspace 插件 事件对象中还包含 Gmail 插件操作事件对象。 下面的表格“原始 Gmail 插件字段”下方列出了这些字段; 这些字段中的信息会在新的对象结构中重现。
事件对象 | |
---|---|
eventObject.commonEventObject |
Common fields object
一个对象,包含所有事件对象共有的信息, 无论托管应用为何 |
eventObject.calendar |
Calendar event object
仅当通话主持人是 Google 日历时,此字段才会显示。一个对象 包含日历和活动信息。 |
eventObject.drive |
Drive event object
仅当发起调用的主机是 Google 云端硬盘时,此字段才会显示。一个对象 包含云端硬盘信息。 |
eventObject.gmail |
Gmail event object
仅当发起调用的主机是 Gmail 时,此字段才会显示。一个对象 包含 Gmail 信息的邮件。 |
eventObject.docs |
Docs event object
仅当通话主持人是 Google 文档时,此字段才会显示。一个对象 包含 Google 文档信息。 |
eventObject.sheets |
Sheets event object
仅当发起调用的主机是 Google 表格时,此字段才会显示。一个对象 包含 Google 表格信息。 |
eventObject.slides |
Slides event object
仅当发起通话的主持人是 Google 幻灯片时,此字段才会显示。一个对象 包含幻灯片信息。 |
原始 Gmail 插件字段 | |
eventObject.messageMetadata.accessToken |
string 已弃用。访问令牌。您可以使用 以启用使用临时 Gmail 插件范围访问用户数据的权限。
对于 Google Workspace 插件,请在
|
eventObject.messageMetadata.messageId |
string 已弃用。线程的消息 ID 在 Gmail 界面中打开。
对于 Google Workspace 插件,请在
|
eventObject.clientPlatform |
string 已弃用。指明活动地点 来源(网站、iOS 或 Android)。
对于 Google Workspace 插件,请在
|
eventObject.formInput |
object 已弃用。当前值的映射 卡片中所有表单 widget 的样式,每个 widget 一个值被限制为一个值。通过 是与微件关联的字符串 ID,值是 字符串。该事件对象提供 formInput 作为
当您需要从多个 widget 中读取数据时,
预期奇异值,例如文本输入和开关。对于
多值微件(如复选框),您可以从
formInputs 。
对于 Google Workspace 插件,请在
|
eventObject.formInputs |
object 已弃用。当前值的映射 卡片中的微件,以字符串列表的形式呈现。键是 与微件关联的字符串 ID。对于单值微件, 值以单元素数组形式呈现。对于多值 widget 例如复选框组,则所有值都会显示在列表中。
对于 Google Workspace 插件,请在
|
eventObject.parameters |
object 已弃用。任何其他维度 提供给 <ph type="x-smartling-placeholder"></ph> Action ,使用的是
Action.setParameters() 。映射键和值
字符串。
对于 Google Workspace 插件,请在
|
eventObject.userCountry |
string 默认情况下已废弃和停用。通过 表示用户所在国家/地区的双字母代码。它还可以是 数字 UN M49 国家/地区代码。
对于 Google Workspace 插件,请在
|
eventObject.userLocale |
string 默认情况下已废弃和停用。通过 两个字母 ISO 639 代码,用于表示用户的语言。请参阅 访问用户 语言区域和时区。
对于 Google Workspace 插件,请在
|
eventObject.userTimezone.id |
string 默认情况下已废弃和停用。通过 <ph type="x-smartling-placeholder"></ph> 时区标识符。例如: America/New_York 、Europe/Vienna 和
Asia/Seoul 。请参阅
<ph type="x-smartling-placeholder"></ph>
访问用户语言区域和时区,了解更多详情。
对于 Google Workspace 插件,请在
|
eventObject.userTimezone.offset |
string 默认情况下已废弃和停用。通过 <ph type="x-smartling-placeholder"></ph> 相对于世界协调时间 (UTC) 的用户 时区,以毫秒为单位。请参阅 <ph type="x-smartling-placeholder"></ph> 访问用户语言区域和时区,了解更多详情。
对于 Google Workspace 插件,请在
|
常见事件对象
常见的事件对象是整个事件对象中含有 独立于主机的一般信息从用户客户端发送到插件。这个 信息包括用户语言区域、托管应用和平台等详细信息。
除了首页和上下文触发器之外,插件还可以构建和传递
事件对象传递给操作回调函数
当用户与 widget 互动时触发。插件的回调函数可以
通用事件对象,用于确定用户
客户端。例如,您的插件可以查找用户在
TextInput
widget
eventObject.commentEventObject.formInputs
对象。
常见事件对象字段 | |
---|---|
commonEventObject.platform |
string 指示事件的来源(“WEB”、 “IOS”或“ANDROID”)。 |
commonEventObject.formInputs |
object 包含 微件。映射键是 分配给每个 widget。 映射值对象的结构为 具体取决于微件类型:
|
commonEventObject.hostApp |
string 表示该插件所在的托管应用 在生成事件对象时触发。可能的值包括 以下: <ph type="x-smartling-placeholder">
|
commonEventObject.parameters |
object 您要添加的所有其他参数
Action 使用
Action.setParameters() 。
|
commonEventObject.userLocale |
string 默认处于停用状态。用户的语言 和国家/地区标识符,格式为 ISO 639 语言代码 - ISO 3166 国家/地区代码。例如 en-US 。
要启用此字段,您必须将 |
commonEventObject.timeZone |
string 默认处于停用状态。时区 ID 和偏移值。要启用该字段,您必须设置 将 addOns.common.useLocaleFromApp 设置为 true 。
插件的范围列表还必须包括
https://www.googleapis.com/auth/script.locale 。
请参阅
访问用户语言区域和时区,了解更多详情。
|
commonEventObject.timeZone.id |
string <ph type="x-smartling-placeholder"></ph> 时区标识符。例如: America/New_York 、Europe/Vienna 和
Asia/Seoul 。要启用该字段,您必须设置
将 addOns.common.useLocaleFromApp 设置为 true 。
插件的范围列表还必须包括
https://www.googleapis.com/auth/script.locale 。请参阅
<ph type="x-smartling-placeholder"></ph>
访问用户语言区域和时区,了解更多详情。
|
commonEventObject.timeZone.offset |
string <ph type="x-smartling-placeholder"></ph> 相对于世界协调时间 (UTC) 的用户时区 时区,以毫秒为单位。请参阅 <ph type="x-smartling-placeholder"></ph> 访问用户语言区域和时区,了解更多详情。 |
日期时间选择器表单输入
操作回调函数
可以在 commonEventObject.formInputs
字段中接收当前的 widget 值。
这包括用户在日期或时间选择器中选择的日期或时间值
微件。
不过,信息的结构会因
微件被配置为日期时间选择器、仅限日期的选择器或仅限时间的选择器
选择器。下表介绍了结构差异:
日历活动对象
日历活动对象是整个事件对象的部分, 包含有关用户的日历和日历活动的信息。它只是 。
下表列出了 calendarEventObject
中显示的字段
事件对象的字段。标记为用户生成的数据的字段
当且仅当数据显示在 Google 日历中时,事件对象中才会显示
事件,并且该插件会设置其 addOns.calendar.currentEventAccess
清单
字段更改为
READ
或 READ_WRITE
。
日历活动对象 | |
---|---|
calendar.attendees[] |
list of attendee objects 用户生成的内容。日历参加者的列表 事件。 |
calendar.calendarId |
string 日历 ID。 |
calendar.capabilities |
object 用户生成的内容。一个对象 描述用于查看或更新活动的插件的功能 信息。 |
calendar.capabilities.canAddAttendees |
boolean 用户生成的内容。 true
该插件是否可以将新参加者添加到活动参加者列表;
否则为 false 。 |
calendar.capabilities.canSeeAttendees |
boolean 用户生成的内容。 true
该插件是否可以读取活动参加者列表;false
否则。 |
calendar.capabilities.canSeeConferenceData |
boolean 用户生成的内容。 true
该插件是否可以读取活动会议数据;false
否则。 |
calendar.capabilities.canSetConferenceData |
boolean 用户生成的内容。 true
该插件是否可以更新活动会议数据;false
否则。 |
calendar.capabilities.canAddAttachments |
boolean 用户生成的内容。 true
该插件是否可以为活动添加新附件;
否则为 false 。
|
calendar.conferenceData |
Conference data object 用户生成的内容。表示任何会议数据的对象 与此活动关联的信息,例如 Google Meet 会议详细信息。 |
calendar.id |
string 事件 ID。 |
calendar.organizer |
object 代表 事件。 |
calendar.organizer.email |
string 活动组织者的电子邮件地址。 |
calendar.recurringEventId |
string 周期性活动的 ID。 |
参加者
参加者对象可将个人参加者的相关信息传输到 Google 日历
事件。当且仅当数据
,且该插件将
addOns.calendar.currentEventAccess
清单
字段更改为
READ
或 READ_WRITE
。
参加者对象 | |
---|---|
attendee.additionalGuests |
number 参加者的额外邀请对象人数 表明自己带着什么默认值为 0。 |
attendee.comment |
string 参加者的回复评论(如果有)。 |
attendee.displayName |
string 参加者显示的姓名。 |
attendee.email |
string 参加者的电子邮件地址。 |
attendee.optional |
如果本次活动的出席情况为boolean true
将参加者标记为可不参加;否则为 false 。
|
attendee.organizer |
如果参加者是 boolean true
此活动的组织者。
|
attendee.resource |
boolean true (如果参加者代表
资源,例如房间或设备;false
否则。
|
attendee.responseStatus |
string 参加者的回复状态。可能 值包括: <ph type="x-smartling-placeholder">
|
attendee.self |
boolean true (如果此参加者代表
显示此活动的日历;否则为 false 。
|
会议数据
会议数据对象会携带所附加会议的相关信息
Google 日历活动。这些解决方案可以是 Google 会议解决方案,例如
Google Meet 或第三方会议。这些信息显示在
事件对象,当且仅当 Google 日历活动和
插件会设置其 addOns.calendar.currentEventAccess
清单
字段更改为
READ
或 READ_WRITE
。
会议数据对象 | |
---|---|
conferenceData.conferenceId |
string 会议的 ID。此 ID 的用途是 让应用跟踪会议;你不应该 向用户显示此 ID。 |
conferenceData.conferenceSolution |
object 代表会议的对象 例如 Hangouts 或 Google Meet。 |
conferenceData.conferenceSolution.iconUri |
string 用户可见图标的 URI,代表 这个会议解决方案 |
conferenceData.conferenceSolution.key |
object 唯一标识 会议解决方案 |
conferenceData.conferenceSolution.key.type |
string 会议解决方案类型。可能的值 包括: <ph type="x-smartling-placeholder">
|
conferenceData.conferenceSolution.name |
string 此会议的用户可见名称 解决方案(未本地化)。 |
conferenceData.entryPoints[] |
list of entry point objects
会议入口点的列表,例如网址或电话号码。 |
conferenceData.notes |
string 其他说明(例如 域管理员或法律声明) 显示给用户。可以包含 HTML。长度上限为 2048 个字符 字符。 |
conferenceData.parameters |
object 一个对象,包含所定义的地图 供该插件使用的参数数据。 |
conferenceData.parameters.addOnParameters |
object 参数字符串键和值的映射。 这些键和值由插件开发者定义,以附加到 特定会议的信息,以供该插件使用。 |
入口点
入口点对象携带着既定的访问方式的相关信息
特定会议,例如电话或视频此信息位于
当且仅当日历事件中存在数据时,事件对象
该插件会设置其 addOns.calendar.currentEventAccess
清单
字段更改为
READ
或 READ_WRITE
。
入口点对象 | |
---|---|
entryPoint.accessCode |
string 用于参加会议的访问代码。 长度上限为 128 个字符。通常是会议服务提供商 仅使用 { accessCode , meetingCode ,
passcode 、password 、pin } 至
访问会议的权限。匹配并仅显示字段
和会议提供商使用的通信服务
|
entryPoint.entryPointFeatures |
list 入口点的功能。目前这些 功能仅适用于 phone 入口点:
<ph type="x-smartling-placeholder">
|
entryPoint.entryPointType |
string 入口点的类型。可能的值包括 以下: <ph type="x-smartling-placeholder">
|
entryPoint.label |
string 入口点 URI 的用户可见标签 (未本地化)。 |
entryPoint.meetingCode |
string 用于加入会议的会议代码。 长度上限为 128 个字符。通常是会议服务提供商 仅使用 { accessCode , meetingCode ,
passcode 、password 、pin } 至
访问会议的权限。匹配并仅显示字段
和会议提供商使用的通信服务
|
entryPoint.passcode |
string 用于进入会议的密码。 长度上限为 128 个字符。通常是会议服务提供商 仅使用 { accessCode , meetingCode ,
passcode 、password 、pin } 至
访问会议的权限。匹配并仅显示字段
和会议提供商使用的通信服务
|
entryPoint.password |
string 用于访问会议的密码。 长度上限为 128 个字符。通常是会议服务提供商 仅使用 { accessCode , meetingCode ,
passcode 、password 、pin } 至
访问会议的权限。匹配并仅显示字段
和会议提供商使用的通信服务
|
entryPoint.pin |
string 用于参加会议的 PIN 码。 长度上限为 128 个字符。通常是会议服务提供商 仅使用 { accessCode , meetingCode ,
passcode 、password 、pin } 至
访问会议的权限。匹配并仅显示字段
和会议提供商使用的通信服务
|
entryPoint.regionCode |
string 电话号码的地区代码。所需者 用户。值依据 公众 区号的 CLDR 列表。 |
entryPoint.uri |
string 入口点的 URI。最大 长度为 1300 个字符。格式取决于入口点 类型: <ph type="x-smartling-placeholder">
|
云端硬盘事件对象
云端硬盘事件对象是 包含有关用户的 Google 云端硬盘及其内容的信息。它只是 事件对象中是否存在。
云端硬盘事件对象 | |
---|---|
drive.activeCursorItem |
Drive item object 当前处于活动状态的云端硬盘内容。 |
drive.selectedItems[] |
list of Drive item objects 在云端硬盘中选择的内容(文件或文件夹)列表。 |
云端硬盘内容
云端硬盘内容对象会携带有关特定云端硬盘内容(如文件)的信息 或文件夹
云端硬盘内容对象 | |
---|---|
item.addonHasFileScopePermission |
boolean 如果状态为 true ,则表明该插件已请求
并收到 https://www.googleapis.com/auth/drive.file
此项目的范围授权;否则,此字段为
false 。
|
item.id |
string 所选项的 ID。 |
item.iconUrl |
string 代表 所选内容。 |
item.mimeType |
string 所选项的 MIME 类型。 |
item.title |
string 所选内容的标题。 |
Gmail 事件对象
Gmail 事件对象是整个事件对象的一部分, 用户的 Gmail 邮件的相关信息。它仅存在于事件对象中 如果托管应用是 Gmail。
Gmail 事件对象 | |
---|---|
gmail.accessToken |
string Gmail 专用的访问令牌。您可以使用 这个词元的 <ph type="x-smartling-placeholder"></ph> GmailApp.setCurrentMessageAccessToken(accessToken)
方法授予插件临时访问权限,以访问用户当前
打开 Gmail 邮件或让插件撰写新草稿。
|
gmail.bccRecipients[] |
list of strings 默认处于停用状态。列表 (针对“密送”):草稿中当前包含的 插件正在编写内容。要启用该字段,您必须设置 addOns.gmail.composeTrigger.draftAccess 字段
METADATA 。
|
gmail.ccRecipients[] |
list of strings 默认处于停用状态。列表 的“抄送”:草稿中当前包含的 插件正在编写内容。要启用该字段,您必须设置 addOns.gmail.composeTrigger.draftAccess 字段
METADATA 。
|
gmail.messageId |
string 当前已打开的 Gmail 邮件的 ID。 |
gmail.threadId |
string 当前打开的 Gmail 会话 ID。 |
gmail.toRecipients[] |
list of strings 默认处于停用状态。列表 /“收件人”:草稿中当前包含的 插件正在编写内容。要启用该字段,您必须设置 addOns.gmail.composeTrigger.draftAccess 字段
METADATA 。
|
Google 文档事件对象
Google 文档事件对象是整个事件对象中 用户文档及其内容的相关信息。它仅存在于 事件对象。
Google 文档事件对象 | |
---|---|
docs.id |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
由用户授权。在文档界面打开的文档的 ID。 |
docs.title |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
用户授权。在文档界面中打开的文档标题。 |
docs.addonHasFileScopePermission |
boolean 如果状态为 true ,则表明该插件已请求
并收到 https://www.googleapis.com/auth/drive.file
针对在 Google 文档界面中打开的文档的范围授权;否则这个
字段为 false 。
|
docs.matchedUrl.url |
string
仅在满足以下条件时才会显示: <ph type="x-smartling-placeholder">
在 Google 文档中生成预览的链接网址。如需使用此字段,您必须在插件的清单中配置 LinkPreviewTriggers 。如需了解详情,请参阅预览包含智能条状标签的链接。
用户预览链接 "docs" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } |
Google 表格事件对象
Google 表格事件对象是整个事件对象中 用户文档及其内容的相关信息。它仅存在于 事件对象(如果托管应用是 Google 表格)。
Google 表格事件对象 | |
---|---|
sheets.id |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
由用户授权。在表格界面中打开的电子表格的 ID。
|
sheets.title |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
由用户授权。在 Google 表格中打开的电子表格的标题
界面。
|
sheets.addonHasFileScopePermission |
boolean 如果状态为 true ,则表明该插件已请求
并收到 https://www.googleapis.com/auth/drive.file
针对在 Google 表格界面中打开的电子表格的范围授权;否则
此字段为false
|
sheets.matchedUrl.url |
string
仅在满足以下条件时才会显示: <ph type="x-smartling-placeholder">
在 Google 表格中生成预览的链接网址。如需使用此字段,您必须在插件的清单中配置 LinkPreviewTriggers 。如需了解详情,请参阅预览包含智能条状标签的链接。
用户预览链接 "sheets" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } |
Google 幻灯片事件对象
幻灯片事件对象是整个事件对象中 用户文档及其内容的相关信息。它仅存在于 事件对象。
Google 幻灯片事件对象 | |
---|---|
slides.id |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
由用户授权。在幻灯片中打开的演示文稿 ID
界面。
|
slides.title |
string 仅当已配置
https://www.googleapis.com/auth/drive.file 范围时,此字段才会显示
由用户授权。演示文稿的标题将在
幻灯片界面。
|
slides.addonHasFileScopePermission |
boolean 如果状态为 true ,则表明该插件已请求
并收到 https://www.googleapis.com/auth/drive.file
在幻灯片界面中打开演示文稿的范围授权;否则
此字段为false
|
slides.matchedUrl.url |
string
仅在满足以下条件时才会显示: <ph type="x-smartling-placeholder">
在 Google 幻灯片中生成预览的链接网址。如需使用此字段,您必须在插件的清单中配置 LinkPreviewTriggers 。
如需了解详情,请参阅预览包含智能条状标签的链接。
用户预览链接 "slides" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } |