我正在处理卡片服务脚本,并且在操作处理程序方面遇到了一些困难。
我在CardService上有两个下拉菜单,一个是product_category,另一个是sub_category。
// created as (and the following sub_category)
var productCategory = CardService.newSelectionInput()
.setType(CardService.SelectionInputType.DROPDOWN)
.setTitle("Product Category")
.setFieldName("product_category")
然后我在下面创建了一个按钮,所以当采取行动时,它会将数据提交到电子表格(我有这个功能)。我在这里遗漏的东西似乎无法在文档中挖掘,我是如何抓住product_category和sub_category并将它们作为参数传递的。
// my action caller on the button
var newButton = CardService.newTextButton()
.setText('Submit')
.setOnClickAction(CardService.newAction()
.setFunctionName("sendToSpreadsheet"));
// adding button to section
section.addWidget(CardService.newButtonSet().addButton(newButton));
//i then have my function which takes product and sub product
function sendToSpreadsheet(product_category, sub_category){
// process events here
}
我的问题是如何将product_category和sub_category传递给sendToSpreadsheet函数? 基于这里的文档:https://developers.google.com/apps-script/reference/card-service/card-action
答案 0 :(得分:1)
更新
想出这个,你可以使用formsInput
回调函数进行访问。
我将sendToSpreadsheet切换到以下
function sendToSpreadsheet(e){
var res = e['formInputs'];
var productCat = res['product_category'];
var productSubCat = res['product_sub_category'];
// rest of code...
}
答案 1 :(得分:0)
如果上述方法无效,则可以使用
e.formInputs.product_category;
e.formInputs返回一个JSON对象,您可以通过提供的字段名称获取数据。