使用CardService Appscript(GAS)在用户点击Gmail加载项时动态添加窗口小部件

时间:2018-12-26 11:22:42

标签: google-apps-script gmail-addons

我正在为我的一个项目创建Gmail加载项。我陷入一种情况。我想向用户显示一个下拉列表,并且当用户从该下拉列表中选择任何值时,我想在下拉列表下方动态添加一个新标签/ texfield,它将向您显示所选值。 我正在使用CardService的newSelectionInput方法创建一个下拉列表。 这是它的代码:

var dueDateDropDown = CardService.newSelectionInput()
.setType(CardService.SelectionInputType.DROPDOWN)
.setTitle("Due Date")
.setFieldName("due_date")
.addItem("No due date", "one_value", true)
.addItem("Today", "two_value", false)
.addItem("Tomorrow", "three_value", false)
.addItem("This Friday", "four_value", false)
.addItem("Next Monday", "five_value", false)
.setOnChangeAction(CardService.newAction().setFunctionName('addLabel'))

有人可以帮我编写addLabel函数,该函数将添加标签窗口小部件。 这是我要编写的函数:

 function addLabel(e){
  var selected = e.formInputs.due_date;

  // Activate temporary Gmail add-on scopes.
  var accessToken = e.messageMetadata.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);

  var messageId = e.messageMetadata.messageId;
  var message = GmailApp.getMessageById(messageId);
  var thread = message.getThread();

  Logger.log(message.getSubject());
  Logger.log(selected);
  // What should be the code for adding a label or textbox to the widget here.
}

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过重新构建UI来做到这一点。

eclipse neon 3