3
votes

I'm having slight issues using dialogflow and the SignIn helper with google home, in the simulator it works all fine with account linking including the google home simulator, but when I reset and attempt to link it again with my physical google home that I have, it's saying the following phrase everytime I hit the sign in intent:

"Alright, no problem. Just so you know, that means you won't be able to use your account with x. If you change your mind, you can always come back and sign in then. Sorry, can you say that again?"

This phrase seems to come from when you decline to sign in.

Does anyone have any idea how to fix this? It should actually refer me to my application, on the Google Home simulator is directs me to something like this which is correct:

"To get your account details, you'll need an account with x. To get you signed in, I'll just need some info. If you want more details, say "Tell me more. " So, can I ask Google for your name, email address, and profile picture?"

Heres my intent code:

import { dialogflow, SignIn} from 'actions-on-google';
import '@babel/polyfill';

const app = dialogflow({
    debug: true,
    clientId: process.env.client_id,
});

app.intent('StartSignIn', conv => {
    conv.ask(new SignIn('Sign in'))
});

exports.main = app

P.S does anyone know how to get the sign in status, I can't seem to get it via (conv, params, signin) handler of the intent.

Many thanks!

1

1 Answers

1
votes

I replicated your scenario and found a similar issue. Google Assistant went unresponsive after initiating the sign-in intent from my phone. The simulator worked fine for phone and speaker devices. I think it might not be available yet. You can give it a try with a deployed version.

Regarding the (conv, params, signin), be sure to add the actions_intent_SIGN_IN to the intent you want to be detected when the sign-in flow finishes.

After that, you can access the status, like this:

app.intent('signInConfirm', (conv, params, signin) => {
  conv.close(`Sign in status: ${signin.status}`);
});