我正在尝试开发 alexa 技能,我想获取用户的电子邮件,然后将其与数据库的电子邮件进行比较。我在网上找到了很多示例,但它们都是用不再支持的 SDK v1 编写的。谁能帮我?
user12820114
问问题
116 次
2 回答
0
@raholling 好的,按照您的说明并阅读文档后,我只编写了这段代码,它在 AWS 上或在 alexa 开发人员的口语测试中都不起作用。我究竟做错了什么?
var accessToken = this.event.context.System.apiAccessToken;
Bearer < ACCESS_TOKEN >
Host: api.amazonalexa.it
Accept: application/json
Authorization: Bearer MQEWY...6fnLok
GET https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.email;
于 2020-04-02T21:41:28.827 回答
0
您必须请求许可才能收集客户信息。这可以在 Alexa 开发人员控制台中完成。在您的技能范围内,转到构建 > 权限,您将看到许多以设备地址、客户名称和客户电子邮件开头的项目。您将需要选择它并建立您的技能。
现在,当用户添加您的技能时,他们将有机会让您访问他们的电子邮件地址和您请求的任何其他项目。
获得权限后,您现在可以调用 Customer Profile API。
这将是两个步骤。
首先获取访问Token:
accessToken = this.event.context.System.apiAccessToken;
需要注意的是,使用令牌时的语法是:
Bearer < ACCESS_TOKEN >
现在,您可以使用令牌通过以下请求从 API 请求您要查找的信息:
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer MQEWY...6fnLok
GET https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.email
于 2020-03-23T15:53:10.187 回答