v2.0.0-alpha版本如何获取谷歌匿名用户ID?
解决Dialogflow CX v2.0.0-alpha版本获取谷歌匿名用户ID的问题
我刚好熟悉这个版本的变动,v2.0.0-alpha确实调整了用户身份信息的访问路径,原来的app.getUser().userId写法已经失效,根据你的使用场景,给你两种对应的解决方案:
场景1:使用Actions on Google + Dialogflow CX集成(基于v2.0.0-alpha Actions SDK)
你需要通过conv.user.id来获取谷歌匿名用户ID,这和旧版app.getUser().userId的作用完全一致。代码示例:const userId = conv.user.id;如果之前直接替换
app为conv没生效,大概率是conv对象的初始化或SDK引入方式有问题——要确保你是按照v2.0.0-alpha版本的官方规范正确导入和使用SDK的。场景2:直接处理Dialogflow CX的Webhook请求(未封装Actions SDK)
这种情况下,你可以从Webhook请求体的originalDetectIntentRequest.payload.user.id字段提取用户ID,Node.js环境下的代码示例:// 假设req是Webhook的请求对象 const userId = req.body.originalDetectIntentRequest.payload.user.id;这个字段对应的就是谷歌匿名用户ID,前提是请求来自Google Assistant渠道。
如果你的业务涉及其他聊天渠道,用户ID的获取方式会随渠道变化,但针对谷歌匿名用户ID的需求,以上两种方式就能解决问题。
内容的提问来源于stack exchange,提问作者user9518645
相关产品推荐
相关产品推荐

