【发布时间】:2017-04-14 07:55:14
【问题描述】:
我正在为 Amazon Alexa 实施一项技能。我想确定用户的地理位置,但 http.get 请求不起作用。我在邮递员中尝试了请求,我得到了想要的结果,但无法弄清楚可能是什么问题。请求 url 应该是这样的https://api.amazonalexa.com/v1/devices/{deviceId}/settings/address,带有授权标头Authorization: Bearer {token}。
这是我的代码
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 没有被执行。没有抛出错误,但我无法从中获取任何日志。
我遵循官方网站上的文档
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/device-address-api
【问题讨论】:
-
在您提到
https://api.amazonalexa.com/v1/device...的问题中,我在您的代码中看到api.eu.amazonalexa.com...这是正确的吗?
标签: javascript node.js http request alexa-skills-kit