如何获得电子邮件作为Alexa技能的回应

问题描述 投票:0回答:1

我如何将电子邮件作为Alexa技能的输入?我有以下代码来获取电子邮件输入然后发送电子邮件,但是我需要了解如何接受有效的电子邮件作为输入,如果我输入[email protected],Alexa会以某种方式返回test gmail.com] >到我的lambda函数。任何帮助将不胜感激。

下面是我的代码:


// 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();

我如何将电子邮件作为Alexa技能的输入?我有以下代码来获取电子邮件输入,然后发送电子邮件,但是如果我输入[email protected],我需要了解如何将有效的电子邮件作为输入,...

node.js alexa alexa-skills-kit alexa-voice-service alexa-slot
1个回答
0
投票

由于要求用户告诉她的电子邮件很容易出错,因此您只能使用客户联系信息中提供的电子邮件。在documentation中有很好的描述。

© www.soinside.com 2019 - 2024. All rights reserved.