2017-04-24 23 views
0

GoogleカレンダーへのAPI呼び出しを行うAlexaスキルを作成していますが、GETリクエストが機能していません。ノードGETリクエストが機能しない

var request = require('request'); 
console.log("Before requests"); 

// getUrl is the the url and returns the data when entered into my browser    
request(getUrl, function (error, response, body) { 
    console.log('error:', error); 
    console.log('statusCode:', response && response.statusCode); 
    console.log('body:', body); 
}); 

私はHTTP呼び出しを行うためにrequestを使用していますし、このコードは、文字通りgithub pageからコピーされますが、何もコンソールに記録されていないので、私が間違って何が起こっているのかをデバッグするかどうかはわかりません。 http.get(options, callback)のような他のメソッドを使用すると、同じ結果が返されます。コールバック内のconsole.log()は実行されません。誰にも洞察はありますか?ありがとう!

-

いくつか他のもの - 私のconsole.log("Before requests");が現れ、そして私のgetURLが要求を行うための正しいAPIキーを持っていないかもしれませんが、それはまだすべてで動作していないのではなく、エラーを返すべきです。

このコードはAmazon Lambda Function(AWS)で実行されており、AWS Cloudwatchを通じてログが表示されています。私の端末で自分のコードを実行すると、その要求はちょうどうまくいっているようです。node index.js

-

console.log(request);出力:

jar: [Function], 
     [ 'accept', 
     'accept-charset', 
     'accept-encoding', 
     'accept-language', 
     'accept-ranges', 
     'cache-control', 
     'content-encoding', 
     'content-language', 
     'content-location', 
     'content-md5', 
     'content-range', 
     'content-type', 
     'connection', 
     'date', 
     'expect', 
     'max-forwards', 
     'pragma', 
     'referer', 
     'te', 
     'user-agent', 
     'via' ], 
    defaultProxyHeaderExclusiveList: [ 'proxy-authorization' ] }, 
    initParams: [Function: initParams], 
    debug: [Getter/Setter] 
+0

以前は 'request'を使っていませんでしたが、好奇心の中から' console.log(request) 'を実行するとどうなりますか? (それを呼び出す前に、もちろん) – skwidbreth

+0

それはURLが渡されることができますか? – heyitsjhu

+0

URLは何ですか? – chenkehxx

答えて

2

はそれを考え出した - 私のAPIの呼び出しを行った後、私は効果的にAPI応答が戻ってくることを許可する前に、プログラムを終えthis.emit(:tell, ".....");にまっすぐに動いていました。 Alexaに応答するように指示する前に、API呼び出しをラップして確実に実行する必要がありました。

0

この作品の罰金をしていますか?

var options = { 
    url: $link, //paste your link here 
    method: 'GET'//or POST or whatever you want 
}; 
request(options, function(error, response, body) { 
    console.log(body); 
}); 
+0

残念ながら。 AWSラムダにコードを入れてAmazon Developer Consoleから実行することは問題だと思いますが、なぜこれが問題になるのかよくわかりません。 – mcheah

関連する問題