Class Image

圖片

顯示單張圖片的小工具。如要瞭解如何裁剪圖片,請參閱 ImageCropStyle

適用於 Google Workspace 外掛程式和 Google Chat 應用程式。

const image = CardService.newImage()
                  .setAltText('A nice image')
                  .setImageUrl('https://image.png');

方法

方法傳回類型簡短說明
setAltText(altText)Image設定圖片的替代文字來啟用無障礙功能。
setAuthorizationAction(action)Image設定授權動作,在點選物件時開啟授權流程的網址。
setComposeAction(action, composedEmailType)Image設定動作,在使用者點選物件時,撰寫電子郵件草稿。
setImageUrl(url)Image提供圖片的網址或資料字串,設定要使用的圖片。
setOnClickAction(action)Image設定在點選物件時執行的動作。
setOnClickOpenLinkAction(action)Image設定動作,當使用者點選物件時,在分頁中開啟網址。
setOpenLink(openLink)Image設定點選物件時要開啟的網址。

內容詳盡的說明文件

setAltText(altText)

設定圖片的替代文字,方便無障礙功能使用者。必填。

參數

名稱類型說明
altTextString要指派給此圖片的替代文字。

回攻員

Image:這個物件用於鏈結。


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指定在點選此元素時要採取的授權動作的物件。

回攻員

Image:這個物件用於鏈結。


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

參數

名稱類型說明
actionAction指定在點選此元素時要採取的 Compose 動作的物件。
composedEmailTypeComposedEmailType這個列舉值可指定所撰寫的草稿是獨立草稿還是回覆草稿。

回攻員

Image:這個物件用於鏈結。


setImageUrl(url)

提供網址或資料字串,設定要使用的圖片。必要欄位。

您可以提供可公開存取的網址,也可以提供 base64 編碼圖片字串。如要取得後者,您可以使用以下程式碼,從 Google 雲端硬碟中的圖片建立經過編碼的圖片字串,然後儲存該字串供 setImageUrl(url) 使用。這個方法可避免外掛程式需要存取公開圖片網址:

// The following assumes you have the image to use in Google Drive and have its
// ID.
const imageBytes = DriveApp.getFileById(imageID).getBlob().getBytes();
const encodedImageURL =
    `data:image/jpeg;base64,${Utilities.base64Encode(imageBytes)}`;

// You can store encodeImageURL and use it as a parameter to
// Image.setImageUrl(url).

參數

名稱類型說明
urlString要使用的代管圖片網址,或是經過編碼的圖片字串。

回攻員

Image:這個物件用於鏈結。


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點選此元素時要採取的動作。

回攻員

Image:這個物件用於鏈結。


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指定在點選此元素時要執行的開啟連結動作的物件。

回攻員

Image:這個物件用於鏈結。


設定點選物件時要開啟的網址。當您已知網址,且只需要開啟網址時,請使用這個函式。UI 物件只能設定 setOpenLink(openLink)setOnClickAction(action)setOnClickOpenLinkAction(action)setAuthorizationAction(action)setComposeAction(action, composedEmailType) 其中一個。

參數

名稱類型說明
openLinkOpenLink描述要開啟網址的 OpenLink 物件。

回攻員

Image:這個物件用於鏈結。