【问题标题】:Alexa - Implementing CanFulfillIntentRequest in pythonAlexa - 在 python 中实现 CanFulfillIntentRequest
【发布时间】:2018-07-26 04:09:32
【问题描述】:

我已从我的技能的英语(美国)的 Alexa 技能开发者控制台启用 CanFulfillIntentRequest。我在我的 lambda 中为 CanFulfillIntentRequest 添加了一个处理程序。当我使用技能测试器并直接键入意图话语(没有技能调用名称)时,它似乎没有命中我的代码。我在 cloudwatch 中找不到任何相关的日志。

def lambda_handler(event, context):
    print("event.session.application.applicationId=" +
          event['session']['application']['applicationId'])

    if event['session']['new']:
        on_session_started({'requestId': event['request']['requestId']},
                           event['session'])

    if event['request']['type'] == "LaunchRequest":
        return on_launch(event['request'], event['session'])
    elif event['request']['type'] == "IntentRequest":
        return on_intent(event['request'], event['session'])
    elif event['request']['type'] == "SessionEndedRequest":
        return on_session_ended(event['request'], event['session'])
    elif event['request']['type'] == "CanFulfillIntentRequest":
        return on_canfullfill(event['request'], event['session'])

def on_canfullfill(request, session):
    print ("Yes, I can!")

我知道这必须以 JSON 响应,指定技能是否可以接受此请求。但不应该有一个 - “是的,我可以!”云观察日志中的条目?

我在这里缺少什么?另外,我在哪里可以找到有关形成和发送此请求的响应的文档/api?

【问题讨论】:

  • 我在亚马逊开发者控制台的测试选项卡中使用了 alexa 模拟器(不是手动 JSON)来测试这个。这会是个问题吗?

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


【解决方案1】:

您似乎只能使用开发者控制台中的Manual JSON 选项卡和ASK CLI 来测试CanFulfillIntentRequest

来自 Alexa 文档

您无法使用支持 Alexa 的设备测试 CanFulfillIntentRequest

更多关于测试CanFulfillIntentRequesthere

【讨论】:

  • 我们是否必须发布技能才能使其发挥作用?或者开发技能也应该被抓住?
  • 是的,我想是的。将通过 CanFulfillIntentRequest 提交我的一项技能。让我们看看它在技能生效时是如何工作的
猜你喜欢
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多