alexa-skills-kit - 使用 Alexa 位置 API 时 Alexa 禁止响应 403

标签 alexa-skills-kit

当我尝试通过 Amazon 位置 API 获取位置详细信息时,收到 403 Forbidden。

我已启用“请求用户访问资源和功能”。但我仍然收到 403 Forbidden 响应?

最佳答案

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

在node sdk中你可以发送这样的权限卡:

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

其中 read::alexa:device:all:address设备完整地址的权限值。

授予权限后,使用 deviceIdapiAccessToken 向指定的 apiEndpoint 发起 GET 请求

完整地址的端点为:/v1/devices/*deviceId*/settings/address

国家/地区和邮政编码:/v1/devices/*deviceId*/settings/address/countryAndPostalCode

更多信息here

希望这有帮助!

关于alexa-skills-kit - 使用 Alexa 位置 API 时 Alexa 禁止响应 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51207052/

相关文章:

c# - Alexa.NET 无法创建提醒 : Invalid Bearer Token

alexa-skills-kit - 调用 Alexa Skill 而不使用特定技能名称

javascript - 在 GET 请求中从 Node.js 中的 JSON 读取值

alexa - Alexa 技能设置中槽值的最大数量

aws-lambda - 在 IFTTT 中创建两个操作之间的切换

ios - 如何在 Swift 4 中将条件实现到 UITableViewDataSource

node.js - 使用nodejs和Alexa查询dynamodb返回多个项目

unit-testing - 如何对包含 dynamoDB 查询的 lambda 函数进行单元测试

amazon-web-services - 用户如何授予我的网站管理其 Amazon Alexa 列表的权限

javascript - 使用 Lambda 从 Alexa 技能获取空响应