将 Alexa 服务链接到您的应用程序

Linking in Alexa services into your app

我正在使用 Alexa Skills Kit、Amazon Echo 和 NodeJS Lambda 创建 Alexa 技能。

我有两个问题:

1) 如何在我的技能范围内访问音乐服务?亚马逊表示您可以通过以下任何服务播放音乐: https://www.amazon.com/gp/help/customer/display.html?nodeId=201549700

我想让我的技能能够 start/stop 使用这些服务之一的播放列表,但我认为除非我通过该服务的 API。对吗?

2) 获取用户的 Amazon 个人资料(用户位置等):我想根据用户的位置向用户发送 promotions/coupons。 Amazon 在 event.session:

中提供 user 对象
exports.handler = function (event, context, callback) {
    try {
        else if (event.request.type === "IntentRequest") {
            console.log('LAUNCH', event.session.user);

但控制台日志仅显示亚马逊用户 ID:amzn1.echo-sdk-account.HHHZGGGHZGZHGHGHGHGAKIOOAOHJZHZHFGA

如何通过 Alexa 获取我自己的登录用户的用户帐户详细信息?

对于 #1,亚马逊没有向技能作者公开任何音乐控件或流媒体功能。

对于 #2,他们不会通过技能公开帐户资料信息。您可以使用 oAuth 功能让用户登录您的服务。在登录过程中,您可以通过IP地址猜测位置或获取浏览器的位置信息。