我在请求客户联系信息(在我的技能的情况下(电子邮件中观察到一种非常奇怪的行为。
我已经实现了与文档中提到的完全相同的方式。我已经在技能的权限选项卡中提供了权限(用于电子邮件(。我已经在应用程序中授予了权限,从代码中,我正在调用以下 REST API,通过传递持有者令牌(JSON 输入中收到的权限对象中的同意令牌(来获取用户的电子邮件 ID。
https://api.eu.amazonalexa.com/v2/accounts/~current/settings/Profile.email
但奇怪的是,最近,我得到了这个回应。
{'code': 'ACCESS_DENIED', 'message': '身份验证失败,并显示 原因:TOKEN_INVALID'}
我最近遇到了这个问题,有时 API 工作正常,但有时并非如此,我收到上述错误。
谁能帮忙?
我正在调用以下 REST API 来获取用户的电子邮件 ID 通过传递持有者令牌(接收的权限对象中的同意令牌( 在 JSON 输入中(
根据此文档,consentToken
已被弃用,则应改用apiAccessToken
。
重要提示:来自 Alexa 的请求还可能包含以下
consentToken
session.user.permissions
和context.System.user.permissions
.这 属性已弃用。使用consentToken
继续使用的现有技能 工作,但应使用context.System.apiAccessToken
属性 相反。
因此,accessToken = this.event.context.System.apiAccessToken
.
另外,仔细检查您的标题:{"Authorization": "Bearer " + apiAccessToken}
,确保在Bearer
和apiAccessToken
之间有一个空格。