Dialogflow-履行请求的有效载荷-如何使用请求有效载荷中收到的用户ID注册用户

时间:2019-01-04 06:05:57

标签: node.js dialogflow actions-on-google skype-bots

可以使用哪些google / Microsoft(Skype)API,以便在我的应用程序中以与实现请求有效负载中收到的用户ID相同的用户ID向我的Web挂钩注册用户?

我收到以下关于Skype的信息:

{  
   "originalDetectIntentRequest":{  
      "source":"skype",
      "payload":{  
         "user":{  
            "name":"Sana Zehra",
            "id":"29:1I3o3Np8sTLU7YSuhHO-IDuc1SgqMwg-83YwGryAZceE"
         }
      }
   }
}

对于Google,我收到以下信息:

    {  
   "originalDetectIntentRequest":{  
      "payload":{  
         "user":{  
            "lastSeen":"2019-01-02T07:57:02Z",
            "locale":"en-US",
            "userId":"ABwppHHxPEyGWY1R26WqV3o5i1w8YNGbAIn5TXd28cre8Eu3iWtPlJEMuSzPWIW1b5u8e94djCv1xvmszegO1Q"
         }
      }
   }
}

我需要使用此ID注册我的用户,以验证传入请求是否是注册用户。

2 个答案:

答案 0 :(得分:2)

您需要构建一个注册流程,以使您可以收集所有必需的信息并在最终注册用户,然后可以通过根据其ID验证用户身份来验证用户是否已注册。

通过聊天机器人方案处理用户注册的示例文章: https://medium.com/@sage.mcenery/building-a-registration-chatbot-on-aws-with-lex-and-twilio-4a14c15b8725

在使用助手的情况下,您可以使用Google帮助程序,它可以为您提供以下有关用户的其他信息: 显示名称, 给定的名称, 姓, 粗略的设备位置(邮政编码和城市), 精确的设备位置(坐标和街道地址)

文档相同: https://developers.google.com/actions/assistant/helpers#built-in_helper_intents

尽管我从未尝试过这样做,所以我对此不太确定。

如果您要查找的是Skype和Google,则不会为您提供有关该用户的大量信息,但是在大多数情况下,针对用户的唯一ID应该可以解决此问题。

答案 1 :(得分:1)

两个ID均与该平台上的用户帐户没有任何直接关系。

此外,已弃用Google平台上的“操作”中提供的userId,并于2019年5月为scheduled to be removed

将用户的Google帐户与您的会话相关联的建议方法是使用Google Sign In for Assistant。获得用户的一次性许可后,您便可以获取其Google个人资料ID和其他个人资料信息。