Как получить электронную почту в ответ на навыки Алекса - PullRequest
0 голосов
/ 20 февраля 2020

Как мне принять электронную почту в качестве входного сигнала от навыков Alexa? У меня есть следующий код для получения электронной почты, затем отправьте письмо, но мне нужно понять, как принять действительную электронную почту в качестве ввода, если я наберу test@gmail.com, каким-то образом Alexa вернет test gmail.com к моей лямбда-функции. Любая помощь будет оценена.

Ниже мой код:


// sets up dependencies
const Alexa = require('ask-sdk-core');
const i18n = require('i18next');
const languageStrings = require('./languageStrings');
const requester = require('./util');

const SendMailHandler = {
  canHandle(handlerInput) {
    const request = handlerInput.requestEnvelope.request;

   // var code = this.event.request.intent.slots.code.value;
   // console.log(code)

    // checks request type
    return request.type === 'LaunchRequest'
      || (request.type === 'IntentRequest'
        && request.intent.name === 'SendMailIntent');
  },
  async handle(handlerInput) {
    const speechText = 'Welcome, give me the email details'
    const request = handlerInput.requestEnvelope.request;


if(request.intent && request.intent.slots) {
    const receiver = request.intent.slots.ReceiverEmail.value;


        const messageData = {
              "receiverEmail": receiver
        }

        const res = await requester.httpPost(messageData, accessToken);

        console.log(res);
}


    return handlerInput.responseBuilder
      .speak(speechText)
      .reprompt(speechText)
      .getResponse();
  },
};

// Took out default Alexa skills code.

const skillBuilder = Alexa.SkillBuilders.custom();

exports.handler = skillBuilder
  .addRequestHandlers(
    SendMailHandler
  )
  .addRequestInterceptors(LocalizationInterceptor)
  .addErrorHandlers(ErrorHandler)
  .lambda();

1 Ответ

0 голосов
/ 10 марта 2020

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

...