2017-06-25 5 views
1

での要求は、関連するサンプルコードは次のとおりです。HTTPS私はここに私のAlexaのスキル、で動作するようにHTTPリクエストを取得するように見えることはできませんAlexaのスキル

var https = require('https'); 

... 

function getTreeFact(callbackFunction){ 


    var url = 'https://alexa.phl.chs.network/treefacts/index.php'; 

    https.get(url, function(res){ 
     var body = ''; 

     res.on('data', function(chunk){ 
      body += chunk; 
     }); 

     res.on('end', function(){ 
      var gameResponse = JSON.parse(body); 
      callbackFunction(gameResponse); 
     }); 
    }).on('error', function(e){ 
    // Handle error 
    }); 
} 

... 

this.getTreeFact(function (responseMessage){ 
    this.emit(':tell', responseMessage.message); 
}); 

私は私が間違っているの何見当がつかない、私は思います私はHTTPリクエストを正しく作成しています。私はスキルがこれなしで動作することを知っています(最後の3行をコメントアウトして、ただthis.emit( ':tell'、 'hello')で置き換えても問題ありません)。

答えて

0

Alexaの公式githubページには、api呼び出しに関する非常に詳細なドキュメントがあります。取得リクエストと投稿リクエストのすべてをカバーするCookingリストスキルのドキュメントを確認してください。https://github.com/alexa/alexa-cookbook

およびhttps://github.com/alexa/他のサンプルのメインレポあなたは、より良い、それは

this.emit(':tell', responseMessage.message); 

のように見える私には例えば

https://github.com/request/request-promise

+0

私はそれらのコードを使用しようとしましたが、それでも私には同じエラーが表示されます。私はそれが私がアクセスしているサイトだと思っていましたが、単にgoogle.comを使っていてもうまくいきませんでした... 私は実際にエラーメッセージを表示したいと思っています –

+0

私のブラウザのコードでウェブサイトにアクセスしようとしましたそれはダウンして、google.comはJSONを吐くことはないので、動作しません。 [このリンク](http://ip.jsontest.com)でテストしてみてください。 –

0

は、私がいずれかを見ることができない

this.emit(':tell', responseMessage); 

する必要があります.messageこの中で

var gameResponse = JSON.parse(body); 

callbackFunction(gameResponse); 
0

、約束のバージョンを使用し

関連する問題