Class CardAction

CardAction

添加到卡片标题菜单的可点击菜单项。

const action = CardService.newAction();
// Finish building the action...

const cardAction =
    CardService.newCardAction().setText('Card action').setOnClickAction(action);

方法

方法返回类型简介
setAuthorizationAction(action)CardAction设置一项授权操作,该操作会在对象被 。
setComposeAction(action, composedEmailType)CardAction设置在点击对象时撰写电子邮件草稿的操作。
setOnClickAction(action)CardAction设置在点击对象时执行的操作。
setOnClickOpenLinkAction(action)CardAction设置在点击对象时在标签页中打开网址的操作。
setOpenLink(openLink)CardAction设置在用户点击对象时要打开的网址。
setText(text)CardAction设置此操作的菜单文本。

详细文档

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该对象指定了当此元素被触发时要执行的授权操作。 。

返回

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


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一个枚举值,用于指定组合草稿是否为 或回复草稿。

返回

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


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点击此元素时要执行的操作。

返回

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


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用于指定在用户点击此元素时要执行的打开链接操作的对象。

返回

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


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

参数

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

返回

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


setText(text)

设置此操作的菜单文本。

参数

名称类型说明
textString菜单项文本。

返回

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