Связывание аккаунта Dialogflow - главная страница Google - PullRequest
0 голосов
/ 25 февраля 2019

У меня небольшие проблемы с использованием диалогового потока и помощника по входу в систему с Google Home, в симуляторе все работает нормально со связыванием аккаунта, включая симулятор Google Home, но когда я перезагружаюсь и пытаюсь снова связать его с моим физическим домом Googleкаждый раз, когда я нажимаю на знак намерения, он произносит следующую фразу:

"Хорошо, нет проблем. Просто, чтобы вы знали, это означает, что вы не сможете использовать свой аккаунт сx. Если вы передумаете, вы всегда можете вернуться и войти в систему. Извините, вы можете сказать это снова? "

Эта фраза, по-видимому, возникла, когда вы отказываетесь войти.

Кто-нибудь знает, как это исправить?На самом деле это должно отсылать меня к моему приложению, в симуляторе Google Home это указывает на что-то вроде этого, которое является правильным:

"Чтобы получить данные своей учетной записи, вам потребуется учетная запись с x.Чтобы войти в систему, мне просто понадобится некоторая информация. Если вы хотите получить более подробную информацию, скажите «Скажите мне больше.«Итак, могу ли я спросить у Google ваше имя, адрес электронной почты и фотографию профиля?»

Вот мой код намерения:

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

PS Кто-нибудь знает, как получитьвойдите в статус, я не могу получить его через (conv, params, signin) обработчик намерений.

Большое спасибо!

1 Ответ

0 голосов
/ 16 августа 2019

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

Что касается (conv, params, signin), обязательно добавьте actions_intent_SIGN_IN к намерению, которое вы хотите обнаружить, когдапроцесс входа заканчивается.

После этого вы можете получить доступ к состоянию, например так:

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