Alexa Skill / Lambda不会记录请求正文

时间:2018-12-04 22:03:36

标签: javascript aws-lambda alexa alexa-skills-kit amazon-cloudwatch

我是Alexa Skill / Lambda的新手。我正在尝试打印请求的正文。我已经尝试过将提取与isomorphic-unfetch结合使用,现在我正在尝试使用npm request模块。由于某种原因,我无法在CloudWatch Logs中打印请求正文,因此我所记录的其他所有内容都显示正常。我也没有收到错误,因为我也正在记录该错误,并且它没有显示出来。我究竟做错了什么?我正在使用帐户链接,并且我知道我拥有用户accessToken,并且正在使用该令牌通过击中另一个端点来验证谁是用户,所以我知道如果在本地和使用本地令牌运行时,我都具有令牌和可以使用的方法只是节点,但是一旦我尝试在aws / lambda CloudWatch上登录正文,我就无法获取要登录的请求的正文,因此无法确定其是否有效。现在,当我说它在本地工作时,我是说我删除$ {event.session.user.accessToken}和访问令牌中的硬代码,然后运行节点index.js,然后我可以看到请求的正文。

欢迎所有帮助。谢谢!

 let skill;

  exports.handler = async function (event, context) {
    getUserInfo(event);
    console.log(`REQUEST++++${JSON.stringify(event)}`);
    if (!skill) {
      skill = Alexa.SkillBuilders.custom()
        .addRequestHandlers(
          LaunchRequestHandler,
          CreateQuoteIntent,
          SessionEndedRequestHandler,
        )
        .addErrorHandlers(ErrorHandler)
        .create();
    }
    // console.log("SESSION**** " + event.session.user.accessToken);

    const response = await skill.invoke(event, context);
    console.log(`RESPONSE++++${JSON.stringify(response)}`);

    return response;
  };


function getUserInfo(event) {
    console.log("TOKEN: " +event.session.user.accessToken);
    const options = {  
        url: 'not showing url but api url is fine ',
        method: 'GET',
        headers: {
          Accept: 'application/json',
          'Content-Type': 'application/json',
          'Client-ID': 'not showing me key on stack',
          'Authorization': `OAuth ${event.session.user.accessToken}` 
        }
    };
    console.log('BEFORE REQUEST');
    request(options, function(err, res, body) {  
        console.log("ERROR: " + err);
        // let json = JSON.parse(body);
        console.log("BODY: " + body);
    });
    console.log('AFTER REQUEST');
}

0 个答案:

没有答案