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

設定授權動作,在點選物件時開啟授權流程的網址。系統會在新視窗中開啟網址。使用者完成授權流程並返回應用程式後,外掛程式就會重新載入。

UI 物件只能設定 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)

設定動作,在使用者點選物件時,撰寫電子郵件草稿。UI 物件只能設定 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();
}

參數

名稱類型說明
actionAction指定在點選此元素時要採取的 Compose 動作的物件。
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)

設定在點選物件時執行的動作。UI 物件只能設定 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 物件之外,還需要採取其他動作,請使用這個函式。UI 物件只能設定 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:這個物件用於鏈結。


設定在點選物件時要開啟的網址。當您已知網址,且只需要開啟網址時,請使用這個函式。UI 物件只能設定 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:這個物件用於鏈結。