我有函数logoutAction(e),当使用setOnClickAction()并在Card中的TextButton上设置此函数时-可以正常工作。
但是当我使用来自“ universalActions”的相同功能时-我收到此错误:“ SubmitFormResponseMarkup不允许使用value:card_navigations”。
功能注销动作:
function logoutAction(e) {
revokeToken();
var service = getOAuthService();
service.reset();
userProperties.setProperty('loggedIn', 'false');
// Create a Navigation object to push the card onto the stack.
// Return a built ActionResponse that uses the navigation object.
var nav = CardService.newNavigation().pushCard(loginFormBuild(e));
return CardService.newActionResponseBuilder().setNavigation(nav).build();
}
在这里工作正常:
var logoutButton = CardService.newTextButton()
.setText("Logout")
.setOnClickAction(CardService.newAction().setFunctionName("logoutAction"));
content.addWidget(logoutButton);
但是来自清单中的“ universalActions”-它不起作用:
"universalActions": [{
"text": "Logout",
"runFunction": "logoutAction"
}]
有什么想法吗?
我们不能对简单动作和通用动作使用相同的功能。因为简单操作必须返回ActionResponse
,但是通用操作必须返回UniversalActionResponse
。
因此,我们需要使用CardService.newActionResponseBuilder()
而不是CardService.newUniversalActionResponseBuilder()
>>