显示单张图片的 widget。如需了解如何裁剪图片,请参阅 ImageCropStyle。
适用于 Google Workspace 加载项和 Google Chat 应用。
const image = CardService.newImage() .setAltText('A nice image') .setImageUrl('https://image.png');
方法
| 方法 | 返回类型 | 简介 |
|---|---|---|
add | Widget | 添加可在 widget 上执行的事件操作。 |
set | Image | 设置图片的替代文字,以实现无障碍功能。 |
set | Image | 设置授权操作,以便在点击对象时打开网址以进入授权流程。 |
set | Image | 设置在点击对象时撰写电子邮件草稿的操作。 |
set | Widget | 设置用于标识要发生变异的 widget 的唯一 ID。 |
set | Image | 通过提供网址或数据字符串来设置要使用的图片。 |
set | Image | 设置在点击对象时执行的操作。 |
set | Image | 设置一项操作,以便在点击对象时在标签页中打开网址。 |
set | Image | 设置在点击对象时要打开的网址。 |
set | Widget | 设置 widget 的可见性。 |
详细文档
addEventAction(eventAction)
setAltText(altText)
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 | Authorization | 用于指定点击此元素时要执行的授权操作的对象。 |
返回
Image - 此对象,用于链式调用。
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 | 用于指定点击相应元素时要执行的撰写操作的对象。 |
composed | Composed | 一个枚举值,用于指定撰写的草稿是独立草稿还是回复草稿。 |
返回
Image - 此对象,用于链式调用。
setId(id)
设置用于标识要发生变异的 widget 的唯一 ID。只有在插件中支持 widget 突变。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
id | String | 微件的 ID,长度限制为 64 个字符,格式为 `[a-zA-Z0-9-]+`。 |
返回
Widget - 此对象,用于链式调用。
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('123abc').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)
设置在点击对象时执行的操作。一个界面对象只能设置 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 对象之外还需要执行其他操作时,请使用此函数。一个界面对象只能设置 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)
设置在点击对象时要打开的网址。如果已知网址,只需打开该网址,请使用此函数。一个界面对象只能设置 setOpenLink(openLink)、setOnClickAction(action)、setOnClickOpenLinkAction(action)、setAuthorizationAction(action) 或 setComposeAction(action, composedEmailType) 中的一个。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
open | Open | 一个 Open 对象,用于描述要打开的网址。 |
返回
Image - 此对象,用于链式调用。