所有按钮的基类。
适用于 Google Workspace 插件和 Google Chat 应用。
方法
方法 | 返回类型 | 简介 |
---|---|---|
setAuthorizationAction(action) | Button | 设置授权操作,以便在用户点击相应对象时打开指向授权流程的网址。 |
setComposeAction(action, composedEmailType) | Button | 设置在用户点击对象时撰写电子邮件草稿的操作。 |
setOnClickAction(action) | Button | 设置在点击对象时执行的操作。 |
setOnClickOpenLinkAction(action) | Button | 设置在用户点击对象时在标签页中打开网址的操作。 |
setOpenLink(openLink) | Button | 设置在用户点击对象时要打开的网址。 |
setOverflowMenu(menu) | Button | 设置在点击对象时打开的弹出式菜单。 |
详细文档
setAuthorizationAction(action)
设置授权操作,以便在用户点击相应对象时打开指向授权流程的网址。系统随即会在新窗口中打开该网址。当用户完成授权流程并返回应用时,该插件会重新加载。
界面对象只能设置 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
之一。
// ... const action = CardService.newAuthorizationAction().setAuthorizationUrl('url'); CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);
参数
名称 | 类型 | 说明 |
---|---|---|
action | AuthorizationAction | 用于指定在点击此元素时要执行的授权操作的对象。 |
返回
Button
- 此对象,用于链式调用。
setComposeAction(action, composedEmailType)
设置在用户点击对象时撰写电子邮件草稿的操作。界面对象只能设置 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
中的一种。
Action
参数必须指定一个回调函数,该函数会返回使用 ComposeActionResponseBuilder.setGmailDraft(draft)
配置的 ComposeActionResponse
对象。
// ... const action = CardService.newAction().setFunctionName('composeEmailCallback'); CardService.newTextButton() .setText('Compose Email') .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT); // ... function composeEmailCallback(e) { const thread = GmailApp.getThreadById(e.threadId); const draft = thread.createDraftReply('This is a reply'); return CardService.newComposeActionResponseBuilder() .setGmailDraft(draft) .build(); }
参数
名称 | 类型 | 说明 |
---|---|---|
action | Action | 用于指定点击此元素时要执行的撰写操作的对象。 |
composedEmailType | ComposedEmailType | 一个枚举值,用于指定撰写的草稿是独立草稿还是回复草稿。 |
返回
Button
- 此对象,用于链式调用。
setOnClickAction(action)
设置在点击对象时执行的操作。界面对象只能设置 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
之一。
Action
参数必须指定一个返回 ActionResponse
对象的回调函数。
// ... const action = CardService.newAction().setFunctionName('notificationCallback'); CardService.newTextButton() .setText('Create notification') .setOnClickAction(action); // ... function notificationCallback() { return CardService.newActionResponseBuilder() .setNotification( CardService.newNotification().setText('Some info to display to user'), ) .build(); }
参数
名称 | 类型 | 说明 |
---|---|---|
action | Action | 点击此元素时要执行的操作。 |
返回
Button
- 此对象,用于链式调用。
setOnClickOpenLinkAction(action)
设置在用户点击对象时在标签页中打开网址的操作。当需要构建网址,或者除了创建 OpenLink
对象之外还需要执行其他操作时,请使用此函数。界面对象只能设置 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
之一。
Action
参数必须指定一个回调函数,该函数会返回使用 ActionResponseBuilder.setOpenLink(openLink)
配置的 ActionResponse
对象。
// ... const action = CardService.newAction().setFunctionName('openLinkCallback'); CardService.newTextButton() .setText('Open Link') .setOnClickOpenLinkAction(action); // ... function openLinkCallback() { return CardService.newActionResponseBuilder() .setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com')) .build(); }
参数
名称 | 类型 | 说明 |
---|---|---|
action | Action | 用于指定在用户点击此元素时要执行的打开链接操作的对象。 |
返回
Button
- 此对象,用于链式调用。
setOpenLink(openLink)
设置在点击对象时要打开的网址。当网址已知且只需打开时,请使用此函数。界面对象只能设置 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
之一。
参数
名称 | 类型 | 说明 |
---|---|---|
openLink | OpenLink | 一个 OpenLink 对象,用于描述要打开的网址。 |
返回
Button
- 此对象,用于链式调用。
setOverflowMenu(menu)
设置在点击对象时打开的弹出式菜单。菜单中的每个项都可以指定在被点击时触发的操作。不支持嵌套菜单,菜单项的操作不应指定溢出菜单。
仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。
const overflowMenuItem = CardService.newOverflowMenuItem() .setStartIcon( CardService.newIconImage().setIconUrl( 'https://www.google.com/images/branding/googleg/1x/googleg_standard_color_64dp.png', ), ) .setText('Open Link') .setOpenLink( CardService.newOpenLink().setUrl('https://www.google.com')); const overflowMenu = CardService.newOverflowMenu().addMenuItem(overflowMenuItem).build();
参数
名称 | 类型 | 说明 |
---|---|---|
menu | OverflowMenu | 用于指定在点击此元素时显示的菜单项的对象。 |
返回
Button
- 此对象,用于链式调用。