私はAmazon Alexaのスキルを実装しています。ユーザーのジオロケーションを特定したいと考えていますが、http.getリクエストが機能していません。私は郵便配達所でそのリクエストを試みましたが、私は望みの結果を得ましたが、何が問題か分かりませんでした。リクエストURLは、https://api.amazonalexa.com/v1/devices/{deviceId}/settings/address
のように、承認ヘッダーAuthorization: Bearer {token}
である必要があります。
は、ここに私のコード
Alexa node.js承認付きhttpリクエスト
try{
var body = "";
console.log('Authorization ', consentToken);
var response = '';
var options = {
host: 'api.eu.amazonalexa.com',
path: '/v1/devices/'+deviceId+'/settings/address',
port: '443',
headers: {'Authorization': "Bearer "+consentToken},
method: 'GET'
};
https.get(options, function(res) {
console.log('status', res.statusCode);
if (res.statusCode >= 200 && res.statusCode < 400) {
res.on('data', function(data_) { response += data_.toString(); });
res.on('end', function() {
var data = JSON.parse(response);
console.log('data', data);
if (data.length > 0)
userLocation = data;
});
}
}).on('error', function(e) {
console.log("errrrror",e);
}).on('uncaughtException', function (err) {
console.log('uncaughtException',err);
});
}
catch(error) {
console.log('getAndProcessUserLocation',error);
}
https.getが実行されていない理由を私は知らないです。エラーはスローされませんが、ログを取得できませんでした。
私はあなたのコードの残りの部分を見ることなくTHR公式サイト https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/device-address-api
'https://api.amazonalexa.com/v1/device ...'と書かれている質問では、あなたのコードで 'api.eu.amazonalexa.com ... 'が正しいと思うでしょうか? – imTachu