Google 应用脚本从卡片操作中获取表单数据
Google App Script Get Form Data From Card Action
我正在处理卡片服务脚本,但在操作处理程序方面遇到了一些困难。
我在 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
更新:
想通了,在回调的 e
对象中有一个 formInputs
对象,您可以使用它在函数中访问。
我将 sendToSpreadsheet 切换为以下内容
function sendToSpreadsheet(e){
var res = e['formInputs'];
var productCat = res['product_category'];
var productSubCat = res['product_sub_category'];
// rest of code...
}
如果上述方法不起作用,您可以使用
e.formInputs.product_category;
e.formInputs returns 一个 JSON 对象,您可以通过提供的字段名称获取数据。
我正在处理卡片服务脚本,但在操作处理程序方面遇到了一些困难。
我在 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
更新:
想通了,在回调的 e
对象中有一个 formInputs
对象,您可以使用它在函数中访问。
我将 sendToSpreadsheet 切换为以下内容
function sendToSpreadsheet(e){
var res = e['formInputs'];
var productCat = res['product_category'];
var productSubCat = res['product_sub_category'];
// rest of code...
}
如果上述方法不起作用,您可以使用
e.formInputs.product_category;
e.formInputs returns 一个 JSON 对象,您可以通过提供的字段名称获取数据。