Google Actions Account Linking 功能测试环节无法正常生效问题咨询
问题核心原因
- 最直接的错误是第二个跳转条件的属性名拼写错误:你写的
user.validationStauts里的Stauts是拼写错误,正确写法是Status,错误的属性名取值为undefined,导致第二个条件判定失败。 - 第一个条件同时判定失败的常见原因:
user.validationStatus字段在当前测试环境未被正确初始化/赋值,或者你使用了错误的状态字段名,Google Action的账号关联状态在最新版Actions Builder中对应的字段实际为session.user.accountLinkingStatus,而非user.validationStatus,如果字段不存在,在部分严格表达式判断逻辑下会返回false,导致两个条件都不命中。
排查解决步骤
- 先修正拼写错误:将第二个跳转条件的
user.validationStauts == "VERIFIED"修改为正确的user.validationStatus == "VERIFIED" - 确认状态字段正确性:可以在Start场景临时增加调试返回,输出当前
user对象的所有属性值,确认你使用的字段是否真实存在、值是否符合预期。如果是做账号关联状态判断,建议替换为官方标准字段session.user.accountLinkingStatus,判断逻辑改为:- 跳转账号关联场景的条件:
session.user.accountLinkingStatus != "LINKED" - 跳转已登录场景的条件:
session.user.accountLinkingStatus == "LINKED"
- 跳转账号关联场景的条件:
- 重置测试环境缓存:进入Actions Console的Test板块,点击右上角「Reset user data」按钮清空历史测试数据,重新调用触发词测试
- 增加兜底跳转:设置一个优先级最低的兜底条件
true,默认跳转到账号关联场景,避免因异常值导致卡在Start场景 - 确认账号关联配置生效:检查Account Linking板块的OAuth配置是否已正确保存,测试用的谷歌账号是否有访问你OAuth服务的权限。
内容的提问来源于stack exchange,提问作者Stefano Moro
相关产品推荐
相关产品推荐

