3

我正在创建带有帐户链接的 Alexa 技能。我得到了链接授权码并将其换成了访问令牌。然后,我尝试将所有参数:代码、访问令牌、技能 ID 放入 Alexa 技能激活 API。我总是得到一个按摩:“无效的帐户链接凭据”。

    var clientServerOptions = {
        uri: `https://api.amazonalexa.com/v1/users/~current/skills/${SkillId}/enablement`,
        body: JSON.stringify({
            stage: "development",
            accountLinkRequest: {
                redirectUri: "https://api.amazon.com/auth/o2/token",
                authCode: req.body.code, //the code I got from the start
                type: "AUTH_CODE"
            }
        }),
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${req.body.access_token}` //my access token
        }
}
request(clientServerOptions, function (error, response) {
    if(error != null) {
        console.error(error);
    } else {
        console.log(response.body);
    }
    return;
});

该怎么办?

4

1 回答 1

2

在启用 App-App Linking(从您的 App 开始)的过程中,我犯了一些错误。请检查您是否可能正在制作这些中的任何一个。

错误-

  1. 创建新的 LWA(使用 Amazon 登录)配置文件
    您不需要新的 LWA 配置文件,而应使用技能页面上权限选项卡下的 Alexa 凭据。它们具有alexa::skills:account_linking应用程序链接所需的正确范围 ( ),而 LWA 配置文件不能具有此范围。

  2. 使用现场技能的开发版本
    我已经修改了开发版本中的帐户链接部分以指向测试部署。虽然这些更改在开发者控制台中是允许的,但每次帐号关联都失败,所以我创建了一个新技能。

  3. 重复使用 Alexa 验证码
    我没有意识到即使是一个错误的请求也会使 Alexa Auth Code 无效。

  4. 登录错误的 Alexa 帐户
    在测试帐户链接期间进入 LWA 屏幕时,仅使用创建技能的开发人员凭据登录。这是因为此时该技能仅对 Alexa 开发者帐户可用,其他任何人都不能使用。(即使是 beta 测试人员也不行)

于 2021-06-21T03:19:47.360 回答