使用REST API和Node.JS实现AWS Lambda函数

使用REST API和Node.JS实现AWS Lambda函数

问题描述:

我刚开始学习如何使用Alexa技能工具包和AWS Lambda开发Amazon Alexa技能。我不太明白如何调用API并从中检索数据。我发现从约旦利视频这个模板代码:使用REST API和Node.JS实现AWS Lambda函数

var endpoint = ""; // ENDPOINT GOES HERE 
var body = ""; 
https.get(endpoint, (response) => { 
    response.on('data', (chunk) => body += chunk); 
    response.on('end',() => { 
    var data = JSON.parse(body); 
    var subscriberCount = data.items[0].statistics.subscriberCount; 
    context.succeed(
     generateResponse(
     buildSpeechletResponse(`Current subscriber count is ${subscriberCount}`, true), 
     {} 
    ) 
    ); 
    }); 
}); 

我明白endpoint变量将举行API的网址,但我不确定休息。在这段代码中,我认为他使用YouTube API作为当前用户数。例如,如果我想使用Dark Sky API来提取天气信息,那么我将如何使用这种类似的格式来解决这个问题?

差不多相同。

const https = require('https'); 
var body = ""; 

const url = "https://api.darksky.net/forecast/your-secret-key/37.8267,-122.4233" 


var req = https.request(url, (res) => { 

    res.on('data', (d) => { 
    body += d; 
    }); 

    res.on('end',() => { 
     var data = JSON.parse(body); 
     console.log("daily weather: ", data.daily); 
    }); 


}); 

req.on('error', (e) => { 
    console.error(e); 
}); 

req.end(); 
+0

当我进入服务模拟器这一点,它说:“响应无效” – ecain

+0

上面的代码是为了回应你使用黑暗的天空API的例子的请求。您必须拥有自己的密钥并将其替换为网址。如果你使用'node yourFileName.js'测试,你会看到它的工作原理。 – Brian