问题描述
我正在尝试在 Alexa 技能中获取地理位置。 我已在 Alexa 控制台中启用定位服务,并已授权发送地理位置的技能。
我收到的消息如下:
{
"context": {
"Extensions": {
"available": {}
},"System": {
"application": {
"applicationId": "..."
},"device": {
"supportedInterfaces": {},"deviceid": "..."
},"apiEndpoint": "https://api.eu.amazonalexa.com","user": {
"userId": "...","permissions": {
"scopes": {
"alexa::devices:all:geolocation:read": {
"status": "GRANTED"
}
},"consentToken": "..."
}
},"apiAccesstoken": "...","unit": {
"unitId": "..."
}
}
},"version": "1.0","session": {
"application": {
"applicationId": "..."
},"user": {
"userId": "...","permissions": {
"scopes": {
"alexa::devices:all:geolocation:read": {
"status": "GRANTED"
}
},"consentToken": "..."
}
},"new": true,"sessionId": "..."
},"request": {
"requestId": "...","locale": "it-IT","intent": {
"name": "MyIntent","confirmationStatus": "NONE"
},"type": "IntentRequest","timestamp": "2021-01-28T07:39:53Z"
}
}
如您所见,地理位置已被授予,但描述的地理位置字段 here 完全缺失。
解决方法
您对大多数 Echo 设备不可用的地理定位是正确的。固定设备只提供注册地址,不提供地理坐标。
但是,您可以使用“地理编码”服务将大多数地址转换为坐标。例如Google Maps has a geocoding API。