正如文档中明确解释的那样,登录意图目前不起作用,它只是您可以在模拟器中用于测试的东西,但它在生产中不可用。
我的情况是我正在使用帐户链接,并且我的令牌在一天后过期,因此如果用户不与助手交互,令牌将不再有效。然后,如果令牌在 webhook 上被证明是无效的,我想从 webhook 将“请再次链接您的帐户”发回给助手。
有一种方法app.askForSignIn();似乎与我需要的方法相似,但它似乎不适用于 Dialogflow,仅适用于 SDK。
所以我所做的是:
- 使用名称在 Dialogflow 中创建意图并向其
actions.intent.SIGN_IN添加actions_intent_SIGN_IN事件 - 当任何请求到达 webhook 时,我会检查令牌,如果遇到无效令牌,我会调用
app.askForSignIn();
怎么了:
- 该应用程序刚刚离开了对话,例如:测试应用程序离开了对话
- 当我再次说“与测试应用程序交谈”时,它的行为就像帐户已链接并且不要求帐户链接,直到我使用测试控制台中的重置按钮手动重置整个应用程序
更新:
我尝试使用文档中的代码片段(https://developers.google.com/actions/reference/nodejs/AssistantApp#askForSignIn),但效果不佳,这是我打电话时模拟器的app.askForSignIn();响应网络钩子
