Abfrage der Dritten JSON-API von AWS Lambda-Funktion

Arbeite ich an einem "Skill" für den neuen Amazon ECHO. Der skill wird es einem Benutzer erlauben, zu Fragen, Alexa für Informationen über den status und die Leistung eines Enphase solar-system. Alexa antwortet mit Ergebnisse, gewonnen aus der JSON-basierten Enphase-API. Zum Beispiel könnte der Benutzer Fragen,

 "Alexa.  Ask Enphase how much solar energy I have produced in the last week."
 ALEXA <"Your array has produced 152kWh in the last week.">

Problem ist, es hat schon seit Jahren habe ich in JavaScript programmiert, und dies ist mein erstes mal mit AWS Lambda. Ich habe nicht sehr erfolgreich gewesen zu finden alle Informationen über das einbetten von JSON-Abfrage an einen externen server in AWS Lambda-Funktion. Hier ist der relevante code-Abschnitt, der in meine Lambda-Funktion:

 /**
  * Gets power from Enphase API and prepares speach
  */
 function GetPowerFromEnphase(intent, session, callback) {
      var Power = 0;
      var repromptText = null;
      var sessionAttributes = {};
      var shouldEndSession = false;
      var speechOutput = "";

      //////////////////////////////////////////////////////////////////////
      //Need code here for sending JSON query to Enphase server to get power
      //Request:
      //https://api.enphaseenergy.com/api/v2/systems/67/summary
      //key=5e01e16f7134519e70e02c80ef61b692&user_id=4d7a45774e6a41320a
      //Response:
      //HTTP/1.1 200 OK
      //Content-Type: application/json; charset=utf-8
      //Status: 200
      //{"system_id":67,"modules":35,"size_w":6270,"current_power":271,
      //"energy_today":30030,"energy_lifetime":59847036,
      //"summary_date":"2015-03 04","source":"microinverters",
      //"status":"normal","operational_at":1201362300,
      //"last_report_at":1425517225}
      //////////////////////////////////////////////////////////////////////

      speechOutput = "Your array is producing " + Power + " kW, goodbye";
      shouldEndSession = true;

      //Setting repromptText to null signifies that we do not want to reprompt the user.
      //If the user does not respond or says something that is not understood, the session
      //will end.
      callback(sessionAttributes,
         buildSpeechletResponse(intent.name, speechOutput, repromptText,
         shouldEndSession));
 }

Einige Hinweise wäre sehr geschätzt werden. Selbst wenn jemand könnte mich in die richtige Richtung. Danke!

InformationsquelleAutor Darko | 2015-12-01
Schreibe einen Kommentar