Alexa проверяет, была ли новая сессия запущена путем доступа к session.new - PullRequest
0 голосов
/ 03 февраля 2020

Это данные, которые Алекса отправляет в мой бэкэнд навыков. В бэкэнд-коде я хотел бы проверить, является ли сеанс новым или нет, и на основе этой информации я хотел бы получить другой вывод. Я пытаюсь получить доступ к session.new , но я не знаю, как и теперь я могу найти что-нибудь об этом в Интернете.

This is the data that is being send by alexa to my skills backend

const { attributesManager } = handlerInput;
const requestAttributes = attributesManager.getRequestAttributes();
requestAttributes.session.new
//this leads to the error "cannot read property new of undefined"

const { attributesManager } = handlerInput;
const requestAttributes = attributesManager.getSessionAttributes();
sessionAttributes.session.new
//this leads to the same error

1 Ответ

0 голосов
/ 03 февраля 2020

Я наконец-то обнаружил, что это невозможно с помощью AttributesManager, потому что это позволяет только доступ к запросу, сеансу и постоянным атрибутам. Но session.new не является частью этого. Если вы хотите проверить, является ли сеанс Alexa новым, вы должны использовать так называемый RequestEnvelopeUtils . Используя их, вы можете получить доступ, если сеанс новый или нет, с помощью следующего оператора.

(Alexa.isNewSession (handlerInput.requestEnvelope))

...