【问题标题】:How to create shared slots for alexa skills如何为 alexa 技能创建共享槽
【发布时间】:2020-09-21 21:39:40
【问题描述】:

我需要有关创建共享槽的帮助。 我访问了官方页面:https://developer.amazon.com/en-US/docs/alexa/smapi/create-a-slot-type-to-use-in-multiple-skills.html#api-endpoint-and-header

但是,我无法理解如何启动创建共享槽的过程。 有人可以指导我吗?

【问题讨论】:

    标签: javascript alexa alexa-skills-kit alexa-skill alexa-slot


    【解决方案1】:

    您需要使用ask cli,我假设您已经在您的机器上安装并配置了它以部署技能。如果是这样 - 跳过第一部分:

    1. 根据ASK CLI Quick Start安装ask cli工具
    2. 安装和配置后,您需要使用您的客户端 ID 和密码从您的 Security Profile 生成身份验证令牌,配置为 Use SMAPI

    ask util generate-lwa-tokens --client-id <your-client-id> --client-confirmation <your-client-secret>

    1. 应该会打开网站,点击允许并返回控制台,应该有类似的内容:
    The LWA tokens result:
    {
      "access_token": "Atza|IwEBIJDuJivzzkceXtesWGS5tYIKRZlK0NKp9OWP8TXh4HlFSQxTiMD4V-1QeoSHa8C6(...)",
      "refresh_token": "Atzr|IwEBIOyzzw_7(...)",
      "token_type": "bearer",
      "expires_in": 3600,
      "expires_at": "2020-06-03T13:21:04.922Z"
    }
    
    1. 复制 access_token 并将其用于身份验证标头:Authorization: Bearer access_token 在来自您链接的文档站点的请求中。

    提示:您可以在此处获取您的vendorId

    curl --location --request GET 'https://api.amazonalexa.com/v1/vendors' \
    --header 'Authorization: Bearer access_token'
    

    CURL 请求示例:

    curl --location --request POST 'http://api.amazonalexa.com/v1/skills/api/custom/interactionModel/slotTypes/' \
    --header 'Authorization: Bearer access_token' \
    --header 'Content-Type: application/json' \
    --data-raw '{
         "vendorId": "MBT******E",
         "slotType": {
             "name": "SharedSlot",
             "description": "Your shared slot'\''s description"
         }
      }'
    

    和回应:

    {
        "slotType": {
            "id": "amzn1.ask.interactionModel.slotType.e4fc2751-e4be-48c5-9be0-cd193a2ffafb"
        }
    }
    

    【讨论】:

    • 非常感谢您帮助我。我已经创建了我的共享插槽。我现在如何使用我的技能?如何将我的插槽与开发控制台中创建的插槽类型相关联?
    • 只需按照文档中的步骤操作:developer.amazon.com/en-US/docs/alexa/smapi/…
    • 看起来你只能通过在交互模型中定义用法来访问它(所以技能的 JSON)
    • 我也无法使用以下命令列出所有插槽类型:/v1/skills/api/custom/interactionModel/slotTypes?vendorId={vendorId}
    • 虽然我在里面输入了我的vendorId,它仍然返回“Invalid/epixred token”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2021-06-25
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多