Проблема в методе входа для действий в Google - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь использовать метод входа в Google для своего AoG, чтобы дать пользователю более удобный пользовательский интерфейс, и буду хранить некоторые данные пользователя, чтобы я мог дать более релевантный ответ. Я использую dailogflow. После вызова входа в системуЯ получаю эту ошибку

screenshot of simulator.

app.intent('Default Welcome Intent',(conv)=>{
 
  conv.ask(`HIIIIIIIIIIIIIIIIIIIIIIIIIII`);
 
});
app.intent('ask_for_sign_in', (conv) => {
  conv.ask(new SignIn(`to get sign in details`));
  
});

app.intent('ask_for_sign_in_confirmation', (conv, params, signin) => {
  if (signin.status !== 'OK') {
    return conv.ask('You need to sign in before using the app.');
  }
  const payload = conv.user.profile.payload
  
    conv.ask(`I got your account details, ${payload.name}. What do you want to do next?`)
  const access = conv.user.access.token;
  
  db.collection("user").doc(access).set({
    name:"name",
    name2 : conv.user.access.name,
  }).then(()=>{
            conv.close(`document successfully written`);
            return;
  }).catch((e)=>{
    conv.close(`error writing document ${e}`);
  })
  // possibly do something with access token
  return conv.ask('Great! Thanks for signing in.');
});

1 Ответ

0 голосов
/ 08 сентября 2018

app.intent('Start Signin', conv => {
  conv.ask(`siging you in`);
  conv.ask(new SignIn('To get your account details'))
})
app.intent('Default Welcome Intent',(conv)=>{
  conv.ask(`hi`);
})
// Create a Dialogflow intent with the `actions_intent_SIGN_IN` event.
app.intent('Get Signin', (conv, params, signin) => {
  if (signin.status === 'OK') {
    const payload = conv.user.profile.payload
    const {email} = conv.user;
    conv.ask(`I got your account details, ${payload.name}.and ${email} What do you want to do next?`)
    db.collection(`user`).doc(email).set({
      name:"some name",
    }).then(()=>{
          conv.ask(`success`);
          return;
    }).catch((e)=>{
        conv.close(`unscess ${e}`);
    })
  } else {
    conv.ask(`I won't be able to save your data, but what do you want to do next?`)
  }
})

этот код будет отлично работать, если кто-то вроде меня захочет сохранить данные пользователя, чтобы вы могли предоставить соответствующую информацию, когда это необходимо, он работает на симуляторе, также не беспокойтесь и не забудьте добавить clientID в dailogflow вроде app=dailogflow({debug:true,clientID:"your clientID"}) и получить метод входа из действий в модуле google {dailogflow,signIn}=require("actions-on-google") ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...