403 使用 Alexa 位置时来自 Alexa 的禁止响应 API

403 Forbidden response from Alexa while using Alexa location API

当我尝试通过亚马逊位置 API 获取位置详细信息时,出现 403 Forbidden。

我已经启用 "Request users to access resources and capabilities." 但我仍然收到 403 禁止响应?

apiAccessToken包含在对你的技能的所有请求中,但这并不意味着你可以访问资源。您必须在 alexa 技能的 Settings 菜单下明确授予对您的技能的访问权限,或者您必须向用户发送许可卡以获得同意。

在node sdk中你可以像这样发送一个许可卡:

return handlerInput.responseBuilder
      .speak(speechOutput)
      .withAskForPermissionsConsentCard(['read::alexa:device:all:address'])
      .getResponse();

其中 read::alexa:device:all:addressDevice Full Address 的权限值。

授予权限后,使用 deviceIdapiAccessToken 向指定的 apiEndpoint

发出 GET 请求

完整地址的终点是:/v1/devices/*deviceId*/settings/address

Country/region & 邮政编码:/v1/devices/*deviceId*/settings/address/countryAndPostalCode

更多信息here

希望对您有所帮助!