顯示單張圖片的小工具。如要瞭解如何裁剪圖片,請參閱 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)
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
action | AuthorizationAction | 指定在點選此元素時要採取的授權動作的物件。 |
回攻員
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(); }
參數
名稱 | 類型 | 說明 |
---|---|---|
action | Action | 指定在點選此元素時要採取的 Compose 動作的物件。 |
composedEmailType | ComposedEmailType | 這個列舉值可指定所撰寫的草稿是獨立草稿還是回覆草稿。 |
回攻員
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).
參數
名稱 | 類型 | 說明 |
---|---|---|
url | String | 要使用的代管圖片網址,或是經過編碼的圖片字串。 |
回攻員
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(); }
參數
名稱 | 類型 | 說明 |
---|---|---|
action | Action | 點選此元素時要採取的動作。 |
回攻員
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(); }
參數
名稱 | 類型 | 說明 |
---|---|---|
action | Action | 指定在點選此元素時要執行的開啟連結動作的物件。 |
回攻員
Image
:這個物件用於鏈結。
setOpenLink(openLink)
設定點選物件時要開啟的網址。當您已知網址,且只需要開啟網址時,請使用這個函式。UI 物件只能設定 setOpenLink(openLink)
、setOnClickAction(action)
、setOnClickOpenLinkAction(action)
、setAuthorizationAction(action)
或 setComposeAction(action, composedEmailType)
其中一個。
參數
名稱 | 類型 | 說明 |
---|---|---|
openLink | OpenLink | 描述要開啟網址的 OpenLink 物件。 |
回攻員
Image
:這個物件用於鏈結。