为 AWS Lambda 函数使用 REST API 和 Node.JS
Consuming an REST API with Node.JS for a AWS Lambda Function
我刚刚开始学习如何使用 Alexa Skills Kit 和 AWS Lambda 开发 Amazon Alexa Skills。我不太明白如何调用 API 并从中检索数据。我从 Jordan Leigh 视频中找到了这个模板代码:
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 的 url,但我不确定其余部分。在这段代码中,我相信他使用 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();
我刚刚开始学习如何使用 Alexa Skills Kit 和 AWS Lambda 开发 Amazon Alexa Skills。我不太明白如何调用 API 并从中检索数据。我从 Jordan Leigh 视频中找到了这个模板代码:
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 的 url,但我不确定其余部分。在这段代码中,我相信他使用 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();