基于隐式调用意图的帐户链接

时间:2018-11-06 11:01:53

标签: dialogflow actions-on-google google-home

是否可以根据隐含的调用意图触发帐户链接? (不是第一个触发的意图的人。)

publish settings

使用上述设置将代理发布到Google上的操作时,如果我触发了选定的意图,我不会收到链接我的帐户的请求。 如果我将要求的登录更改为默认的欢迎意图,那么我会收到请求。

  

帐户是否链接了除主要意图以外的其他意图或   我需要为此进行具体更改吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

是的,这是可能的,这就是大多数应用程序所做的事情,它显示欢迎消息并进行简单的对话,而无需链接帐户,并且当用户要使用服务时才请求链接。

您需要照常设置帐户链接,请查看此doc

答案 1 :(得分:0)

我们通过使用注册intenthandler中的google上的操作实施自己的登录来解决此问题。像这样:

CheckAccountLinking: async function(conv, input) {  
        if (!hasAccountLinked(conv)) {
            conv.ask(new actionsOnGoogle.SignIn());
            return;
        }

        conv.ask(`Continue message`);
    }

    const hasAccountLinked = function(conv)
    {
        console.log(`checking if account is linked`);
        console.log("Payload user:", conv.body.originalDetectIntentRequest.payload.user);
        const isLinked = conv.body.originalDetectIntentRequest.payload.user !== undefined && conv.body.originalDetectIntentRequest.payload.user.accessToken !== undefined;

        console.log("Has account linked", isLinked);
        return isLinked;
    }