【发布时间】:2020-09-13 01:12:03
【问题描述】:
我正在为 Google 日历编写我的第一个插件,但我无法从输入字段或日期选择器中获取值。
我创建了一张卡片,其中包含几个日期选择器(活动开始日期和结束日期)、一个文本输入(用于活动标题)和一个按钮。我想要做的是在单击一个按钮后我想获取文本输入的输入值并(现在)记录它。
这就是我所拥有的:
var card = CardService.newCardBuilder();
var textInputTitle = CardService.newTextInput()
.setFieldName("text_input_title")
.setTitle("Title for editor");
function onHomepage(e) {
return createCard(e.hostApp, true);
}
function createCard(text) {
// Create action button for submitting entered data
var action = CardService.newAction()
.setFunctionName('onCreateEvent')
.setParameters({text: text});
var button = CardService.newTextButton()
.setText('Create event')
.setOnClickAction(action)
.setTextButtonStyle(CardService.TextButtonStyle.FILLED);
var buttonSet = CardService.newButtonSet()
.addButton(button);
var startDateTimePicker = CardService.newDateTimePicker()
.setTitle("Event start date")
.setFieldName("date_time_field_start")
.setValueInMsSinceEpoch(new Date().getTime())
.setTimeZoneOffsetInMins(+2 * 60)
.setOnChangeAction(CardService.newAction()
.setFunctionName("handleDateTimeChange"));
var endDateTimePicker = CardService.newDateTimePicker()
.setTitle("Event end date")
.setFieldName("date_time_field_end")
.setValueInMsSinceEpoch(new Date().getTime())
.setTimeZoneOffsetInMins(+2 * 60)
.setOnChangeAction(CardService.newAction()
.setFunctionName("handleDateTimeChange"));
var section = CardService.newCardSection().setHeader("I am section header")
.addWidget(startDateTimePicker)
.addWidget(endDateTimePicker)
.addWidget(textInputTitle)
.addWidget(buttonSet);
card.addSection(section);
return card.build();
}
function onCreateEvent(e){
Logger.log("Text input%s ",JSON.stringify(e) );
}
我尝试记录 textInputs 值,但我得到的只是空值。
我还检查了Google app script,gmail addon get TextInput value,其中解决了类似的问题,但我无法弄清楚e.formInput 的来源。
更新添加我的清单文件
{
"timeZone": "America/New_York",
"dependencies": {
"enabledAdvancedServices": [{
"userSymbol": "Calendar",
"serviceId": "calendar",
"version": "v3"
}]
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": ["https://www.googleapis.com/auth/calendar.addons.execute",
"https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/script.locale"
],
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "event creator",
"logoUrl": "https://www.gstatic.com/images/icons/material/system/1x/calendar_today_black_48dp.png",
"useLocaleFromApp": true,
"homepageTrigger": {
"runFunction": "onHomepage",
"enabled": true
}
},
"calendar": {
"eventOpenTrigger": {
"runFunction": "onCalendarEventOpen"
}
}
}
}
【问题讨论】:
-
你能分享清单以及尝试重现错误的过程吗?
标签: google-apps-script google-calendar-api google-apps-script-addon