0

ich beginne, nur zu lernen, wie Amazon Alexa Fähigkeiten mit der Alexa Fähigkeiten Kit und AWS Lambda zu entwickeln. Ich verstehe nicht ganz, wie man eine API aufruft und Daten von ihr abruft. Ich fand diesen Template-Code aus einer Jordan Leigh Video:Konsumieren

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), 
     {} 
    ) 
    ); 
    }); 
}); 

Ich verstehe, dass die endpoint Variable die URL für die API halten werden, aber ich bin nicht sicher, über den Rest. In diesem Code glaube ich, dass er eine YouTube-API für die aktuelle Abonnentenzahl verwendet. Wenn ich zum Beispiel die Dark Sky-API verwenden möchte, um Wetterinformationen zu extrahieren, wie würde ich dann mit diesem ähnlichen Format vorgehen?

Antwort

0

Ziemlich genau so.

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

Als ich dies in den Dienst Simulator betreten, es heißt „die Antwort ist ungültig“ – ecain

+0

Der obige Code wurde als Antwort auf Ihre Anfrage eines Beispiels Dark Sky-API. Sie müssen Ihren eigenen Schlüssel haben und den in der URL ersetzen. Wenn Sie mit 'node yourFileName.js' testen, werden Sie sehen, dass es funktioniert. – Brian