插件操作提供了 widgets 的基础。 通过创建操作,您可以定义当用户选择或更新时会发生什么情况 一个 widget。
在大多数情况下,您可以使用
Action
由 Apps 脚本卡片服务提供的对象。
每个 Action
都与
回调函数。您需要实现回调函数
在用户与 widget 互动时执行所需的步骤。您还必须
将 Action
关联到 widget
使用相应的微件处理程序函数
指定触发何种互动
Action
回调。
使用 Action
配置 widget
以下常规流程:
widget 处理程序函数
将 widget 与特定 Action
相关联
或其他行为,您需要使用
处理程序函数。处理程序函数决定了
(例如,点击 widget 或修改文本字段)会触发
操作行为。处理程序函数还定义了界面执行的步骤,
如果有,则在操作完成后显示。
下表列出了微件的不同处理程序类型以及 与它们配合使用的微件:
处理程序函数 | 触发操作 | 适用的微件 | 说明 |
---|---|---|---|
setOnChangeAction() |
widget 值会发生变化 |
DatePicker DateTimePicker SelectionInput Switch TextInput
TimePicker
|
设置 Action
该函数会在 widget 失去焦点时执行 Apps 脚本函数,例如
例如当用户输入文本并按 Enter 键时。通过
处理程序会自动将
事件对象传递给其调用的函数。
您可以在此事件对象中插入其他参数信息
(如果需要的话)。 |
setOnClickAction() |
用户点击微件 |
CardAction Image ImageButton DecoratedText TextButton
|
设置 Action
。通过
处理程序会自动将
事件对象传递给其调用的函数。
您可以在此事件对象中插入可选参数信息。 |
setComposeAction() |
用户点击微件 |
CardAction Image ImageButton DecoratedText TextButton
|
Gmail 专用。设置
Action
可生成电子邮件草稿,然后将该草稿以
Gmail 界面撰写窗口。您可以将草稿构建为新邮件或
在 Gmail 中回复打开的邮件。当处理程序调用
草稿构建回调函数,它会传递一个
事件对象传递给回调函数。
请参阅
撰写邮件草稿
了解详情。 |
setOnClickOpenLinkAction() |
用户点击微件 |
CardAction Image ImageButton DecoratedText TextButton
|
设置 Action
在用户点击 widget 时打开一个网址。在执行以下操作时使用此处理程序:
必须构建网址,或者在链接之前进行其他操作
打开;否则,使用 setOpenLink() 通常更简单。
您只能在新窗口中打开该网址。关闭后,您可以使
用于重新加载插件的界面。 |
setOpenLink() |
用户点击微件 |
CardAction Image ImageButton DecoratedText TextButton
|
在用户点击微件时直接打开一个网址。使用此
处理。否则使用
setOnClickOpenLinkAction() 。
您可以在新窗口或叠加式窗口中打开网址。关闭后,您
可能会导致界面重新加载该插件。 |
setSuggestionsAction() |
用户在输入内容中输入文本 |
TextInput
|
设置 Action
,当用户将文本输入到
文本输入 widget。处理程序会自动将
事件对象传递给其调用的函数。
请参阅
自动补全建议
“文本输入”。 |
回调函数
当出现 Action
时,系统会执行回调函数。
触发器。由于回调函数是 Apps 脚本函数,因此您可以将其
可以执行任何其他脚本函数几乎可以完成的一切。
回调函数有时会返回特定的响应对象。这些 响应类型表示 回调完成执行,例如显示新卡片或 自动补全建议。当您的回调函数必须返回特定的 响应对象,则可以使用卡片服务中的构建器类 来构建该对象。
下表显示了回调函数在什么情况下必须返回 特定响应对象。这些操作都是 与该插件扩展的特定主机应用无关:
已尝试执行操作 | 回调函数应返回 |
---|---|
在卡片之间导航 | ActionResponse |
显示 Notification |
ActionResponse |
使用 setOnClickOpenLinkAction() 打开链接 |
ActionResponse |
显示自动补全建议 | SuggestionResponse |
使用通用操作 | UniversalActionResponse |
其他操作 | Nothing |
除了这些操作外,每个托管应用还有自己的一套 只能在该主机上执行的操作。如需了解详情,请参阅以下内容: 指南:
。操作事件对象
当您的插件触发 Action
时,
界面会自动构建一个 JSON 事件对象,并将其作为
Action
回调的参数
函数。此事件对象包含有关用户当前
客户端上下文,例如所有互动操作的当前值。
微件。
操作事件对象具有特定的 JSON 结构,用于整理 其中包含的信息系统会使用相同的结构 首页触发器 在创建主页时触发,或者 内容相关触发器 触发,以更新插件显示方式。
如需详细了解,请参阅事件对象 事件对象结构的说明。