如何在Dialogflow webhook中获取Firebase uid?

时间:2018-04-07 13:15:08

标签: firebase dialogflow

假设我想从我的iOS应用程序预订酒店房间,需要使用Firebase登录。

用户说'#34;给我预订房间&#34;后,我希望机器人检索用户的Firebase uid并使用他的uid手动修改Firebase数据库。< / p>

我应该如何发送ID并在我的webhook中检索它?

感谢。

2 个答案:

答案 0 :(得分:0)

对于nodejs ...你需要firebase admin sdk ...客户端需要发布他们的firebase tocken id然后后端获取令牌并将其转换为uid,然后使用他们的uid并更新你的预订房间数据库。有关更多文档,请链接到Firebase管理文档https://firebase.google.com/docs/auth/admin/verify-id-tokens。最好确保首先验证用户,或者只是为了测试开发用户可以直接向他们发送他们的uid。

答案 1 :(得分:0)

我也很困惑。但我有一个解决方法。通过发送事件而不是查询,因为事件可以采用参数。您可以将firebase uid放入参数中。以下是我的一些JavaScript代码。

function sendEvent(eventName,params){
$.ajax({
    type: "POST",
    url: baseUrl + "query?v=20150910",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    headers: {
        "Authorization": "Bearer " + accessToken
    },
    data: JSON.stringify({ event:{
        name: "WELCOME",data:{uid:"somethindrandom"}
    }, lang: "zh-CN", sessionId: sessionId }),
    success: function(data) {
        console.log(data);

我发送一个事件来触发默认的欢迎Intent by eventName“WELCOME”,带有一个uid参数。然后你可以从#Welcome.uid获取uid参数,然后传送给你webhook。 Firebase console screenshot]