Class TextButton

TextButton

带有文本标签的 TextButton。您可以根据需要设置背景颜色并停用按钮。

适用于 Google Workspace 插件和 Google Chat 应用。

const textButton = CardService.newTextButton()
                       .setText('Open Link')
                       .setOpenLink(CardService.newOpenLink().setUrl(
                           'https://www.google.com'));

方法

方法返回类型简介
setAltText(altText)TextButton设置按钮的替代文本以实现无障碍功能。
setAuthorizationAction(action)TextButton设置一项授权操作,该操作在用户点击对象时打开指向授权流程的网址。
setBackgroundColor(backgroundColor)TextButton设置 TextButtonStyle.FILLED 按钮的背景颜色。
setComposeAction(action, composedEmailType)TextButton设置在用户点击对象时撰写电子邮件草稿的操作。
setDisabled(disabled)TextButton设置按钮是否已停用。
setIcon(icon)TextButton设置要在按钮上显示的预定义 Icon
setIconUrl(url)TextButton设置用作此按钮图标的图片的网址。
setMaterialIcon(icon)TextButton设置 Material Design 图标。
setOnClickAction(action)TextButton设置在点击对象时执行的操作。
setOnClickOpenLinkAction(action)TextButton设置在用户点击对象时在标签页中打开网址的操作。
setOpenLink(openLink)TextButton设置在点击对象时要打开的网址。
setOverflowMenu(menu)TextButton设置在点击对象时打开的弹出式菜单。
setText(text)TextButton设置按钮上显示的文本。
setTextButtonStyle(textButtonStyle)TextButton设置按钮样式。

详细文档

setAltText(altText)

为无障碍按钮设置替代文本。如果未设置,则默认为按钮上显示的文字。

参数

名称类型说明
altTextString要分配给此按钮的替代文本。

返回

TextButton - 此对象,用于链式调用。


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);

参数

名称类型说明
actionAuthorizationAction用于指定在用户点击此元素时要执行的授权操作的对象。

返回

TextButton - 此对象,用于链式调用。


setBackgroundColor(backgroundColor)

设置 TextButtonStyle.FILLED 按钮的背景颜色。如果未为 TextButtonStyle.FILLED 按钮设置此属性,则该按钮将使用插件manifest中定义的次要颜色。对于 TextButtonStyle.OUTLINED 按钮,此方法为空操作。

参数

名称类型说明
backgroundColorString颜色,采用 #rgb 格式。

返回

TextButton - 此对象,用于链式调用。


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() {
  const thread = GmailApp.getThreadById(e.threadId);
  const draft = thread.createDraftReply('This is a reply');
  return CardService.newComposeActionResponseBuilder()
      .setGmailDraft(draft)
      .build();
}

参数

名称类型说明
actionAction用于指定点击此元素时要执行的合成操作的对象。
composedEmailTypeComposedEmailType一个枚举值,用于指定撰写的草稿是独立草稿还是回复草稿。

返回

TextButton - 此对象,用于链式调用。


setDisabled(disabled)

设置按钮是否已停用。已停用的按钮会显示为灰色,无法点击。

参数

名称类型说明
disabledBoolean停用状态。

返回

TextButton - 此对象,用于实现链式连接。


setIcon(icon)

设置要在按钮上显示的预定义 Icon。必须使用此元素或 setIconUrl(url) 来定义按钮图片。

参数

名称类型说明
iconIcon预定义的 Icon 值之一。

返回

TextButton - 此对象,用于链式调用。


setIconUrl(url)

设置要用作此按钮图标的图片的网址。必须使用此方法或 setIcon(icon) 来定义按钮图片。

参数

名称类型说明
urlString要用作此按钮图标的托管图片的网址。

返回

TextButton - 此对象,用于实现链式连接。


setMaterialIcon(icon)

设置 Material Design 图标。

const textButton = CardService.newTextButton().setMaterialIcon(
    CardService.newMaterialIcon().setName('search'),
);

参数

名称类型说明
iconMaterialIconMaterial Design 图标。

返回

TextButton - 此对象,用于链式调用。


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();
}

参数

名称类型说明
actionAction点击此元素时要执行的操作。

返回

TextButton - 此对象,用于链式调用。


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();
}

参数

名称类型说明
actionAction用于指定在用户点击此元素时要执行的打开链接操作的对象。

返回

TextButton - 此对象,用于链式调用。


设置在点击对象时要打开的网址。当网址已知且只需打开时,请使用此函数。界面对象只能设置 setOpenLink(openLink)setOnClickAction(action)setOnClickOpenLinkAction(action)setAuthorizationAction(action)setComposeAction(action, composedEmailType) 之一。

参数

名称类型说明
openLinkOpenLink一个 OpenLink 对象,用于描述要打开的网址。

返回

TextButton - 此对象,用于链式调用。


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();

参数

名称类型说明
menuOverflowMenu用于指定在点击此元素时显示的菜单项的对象。

返回

TextButton - 此对象,用于实现链式连接。


setText(text)

设置按钮上显示的文本。

参数

名称类型说明
textString按钮上显示的文本。

返回

TextButton - 此对象,用于链式调用。


setTextButtonStyle(textButtonStyle)

设置按钮样式。如果未设置,则默认为 TextButtonStyle.OUTLINED 按钮。

const button =
    CardService.newTextButton()
        .setText('Filled')
        .setTextButtonStyle(CardService.TextButtonStyle.FILLED)
        .setOpenLink(CardService.newOpenLink().setUrl('www.google.com'));

参数

名称类型说明
textButtonStyleTextButtonStyle按钮样式。

返回

TextButton - 此对象,用于链式调用。