私のスキルのためにnode.jsラムダ関数を書いており、httpリクエストコールからの戻りデータに問題があります。このリクエストの私のエンドポイントは、JSONファイルを返すSAPのhanaアプリケーションです。私はこれを個別にテストして、私が持っていたいくつかの認証問題を修正しました。私は最終的にこれが別々に機能することを確認しましたAmazon Alexa 302ステータスコード、HTTPリクエストコールの空のJSONオブジェクト
さて、私は次のようHTTPGET機能があります。
function httpGet(query, callback) {
console.log("/n QUERY: "+ query);
//var path = '/LocationInformation_2/getLocationInformation_2.xsjs?location=';
//var url = 'https://' + host + path + query;
var options = {
//http://api.nytimes.com/svc/search/v2/articlesearch.json?q=seattle&sort=newest&api-key=
host: host,
path: '/LocationInformation_2/getLocationInformation_2.xsjs?location=' + query,
method: 'GET',
//headers: { 'Content-Type': 'application/json' }
json: true
};
var req = http.request(options, (res) => {
var body = '';
console.log('status code: ' + res.statusCode);
res.on('data', (d) => {
body += d;
});
res.on('end', function() {
console.log('body: ' + body);
callback(body);
});
});
req.end();
req.on('error', (e) => {
console.error(e);
});
}
そして、それを呼び出して、この機能:今
'getNewsIntent': function() {
httpGet(location, function(response) {
var output = response['change'];
var cardTitle = location;
var cardContent = output;
alexa.emit(':tellWithCard', output, cardTitle, cardContent);
// alexa.emit(':tell', 'Hi');
});
},
問題を、私が呼んでいつでもということであり、このgetNewsIntent()は、出力には全くテキストがありません。 @craig_hで提案されているように、私はCloudWatchを見て、多少の情報を得るかもしれません。そして私は次のメッセージを受け取ります。
getNews中のSO()私はライン 'はconsole.log(' 体 '+体)' を持っています。私はここにこの体を見ない。私はまた、302ステータスコードを取得します。これはどういう意味ですか?