2017-02-12 84 views
0

我剛開始學習如何使用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來提取天氣信息,那麼我將如何使用這種類似的格式來解決這個問題?

回答

0

差不多相同。

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