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