Я создаю приложение, использующее новое действие в Google Java API а>. Как я понял из работы со связыванием учетных записей в Alexa, первоначальный поток (когда userId в запросе JSON имеет значение null) должен перенаправлять на форму входа для получения согласия пользователя. :
@ForIntent("RawText")
public ActionResponse launchRequestHandler(ActionRequest request) {
String userId = request.getAppRequest().getUser().getUserId();
String queryText = request.getWebhookRequest().getQueryResult().getQueryText();
String speech = null;
ResponseBuilder responseBuilder = getResponseBuilder(request);
if (isBlank(userId) || GREETING.equalsIgnoreCase(queryText)) {
speech = "I've sent a link to your Google Assistant app that will get you started and set up in just several simple steps.";
responseBuilder.add(
new SignIn()
.setContext(speech));
//...
return responseBuilder.build();
Однако во время тестирования в симуляторе AoG я не вижу никакого перенаправления. Я вижу следующую ошибку:
Настройка привязки моей учетной записи:
где URL-адрес авторизации перенаправляет на локальную фиктивную службу аутентификации, которая должна отображать форму входа. Он доступен (как через localhost
, так и через туннель ssh, в данном случае предоставляемый обратным прокси serveo.net
). Почему Google не перенаправляет меня туда?
Может ли кто-нибудь посоветовать мне, как сделать это первоначальное рукопожатие в потоке связывания учетной записи и где я могу увидеть форму, которую должно запускать намерение входа, отправленное из веб-ловушки?
Я бы предпочел не использовать свой телефон, как, кажется, подсказывает сообщение об ошибке, поскольку учетная запись, под которой я тестирую в симуляторе AoG, отличается от моего идентификатора пользователя на телефоне.
Что подразумевается под использованием Simulator as a Speaker
? Чего не хватает в моей настройке?
Есть ли другое приложение Google, которое лучше имитирует физическое устройство, похожее на симулятор Alexa? ?