Alexa 地理位置

问题描述

我正在尝试在 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 设备不可用的地理定位是正确的。固定设备只提供注册地址,不提供地理坐标。

https://developer.amazon.com/en-US/docs/alexa/custom-skills/location-services-for-alexa-skills.html#device-address-as-compared-to-geo-coordinates

但是,您可以使用“地理编码”服务将大多数地址转换为坐标。例如Google Maps has a geocoding API

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...