В настоящее время я создаю специальный навык для Alexa на Java.
Я хочу, чтобы Алекса назначила встречу с помощью существующего сервера Exchange.
Для встречи я хочу, чтобы Алекса проверила, указаны ли имя, дата и время пользователем. Я делаю это с помощью операторов if, например:
if (date.getValue () == null) {return askResponse («Укажите дату, чтобы назначить встречу»)
Происходит то, что Алекса запрашивает недостающий слот, но когда я отвечаю, навык просто исчезает. Я не знаю, как заставить Алекса распознать мой ответ.
Код выглядит следующим образом:
public SpeechletResponse getTerminResponse(Slot name, Slot date, Slot time, Session session, IntentRequest request) throws Exception {
if(time.getValue() == null) {
return askResponse("Please insert time");
} else if (date.getValue() == null) {
return askResponse("Please insert date");
} else if (name.getValue() == null) {
return askResponse("Please insert name");
} else {
try {
String[] datumArray = date.getValue().split("-");
String[] zeitArray = time.getValue().split(":");
Date startDate = new Date((Integer.parseInt(datumArray[0])-1900), (Integer.parseInt(datumArray[1])-1), (Integer.parseInt(datumArray[2])), (Integer.parseInt(zeitArray[0])), (Integer.parseInt(zeitArray[1])), 0);
Date endDate = new Date((Integer.parseInt(datumArray[0])-1900), (Integer.parseInt(datumArray[1])-1), (Integer.parseInt(datumArray[2])), (Integer.parseInt(zeitArray[0]))+1, (Integer.parseInt(zeitArray[1])), 0);
System.out.println(startDatum.toString());
System.out.println(endDatum.toString());
ExchangeHelper eh = new ExchangeHelper();
eh.createMeeting(name.getValue(), "Test", startDate, endDate);
return getTellSpeechletResponse("Appointment created successfully");
} catch (Exception e) {
System.out.println(e);
return askResponse("Failed to create appointment");
}
}
}
Вот моя модель взаимодействия
Любая помощь была бы очень признательна, так как я исследовал документацию и примеры в течение нескольких дней, и я просто не могу заставить ее работать.
С наилучшими пожеланиями