在Skype中获取对话框流程的轮播列表

时间:2018-03-21 12:09:02

标签: json carousel dialogflow

我一直试图在Skype上获取轮播列表。我使用了指定的JSON https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#CarouselSelect 但Skype并没有呈现它或Facebook的信使。如果我使用发送卡片列表 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Card 然后Skype正在呈现垂直列表视图,而Messenger正在呈现轮播列表。使用消息对象,在Dialogflow的V1中,轮播选择正常工作 https://dialogflow.com/docs/reference/agent/message-objects#custom_payload_message_object_2使用我能够发送自定义有效负载来获取各个平台,并将其发送到V2中的有效负载并没有帮助。 有没有办法使用DialogFlow V2在Skype中实现轮播列表?如果可以使用有效负载实现此目的,请回复JSON。

提前致谢!

1 个答案:

答案 0 :(得分:2)

最后,我破解了它!

轮播中信使中的默认列表视图和Skype的默认列表视图是常规垂直列表视图。对于我在Skype bot开发中看到的大多数官方文档,Skype鼓励其开发人员使用定义的库,使用这些库创建JSON并将其发送到bot。另一方面,Messenger在JSON格式上有许多资源。

DialogFlow V1中的

在消息对象中,我们可以添加详细信息,例如有效负载的类型以及我们希望将其发送到的平台。更多内容可以阅读 https://dialogflow.com/docs/reference/agent/message-objects

因此,Skype中的轮播是通过添加Skype机器人的属性attachmentType来实现的。 这指定项目是否是轮播,否则是正常列表视图。 JSON格式指定于 https://miningbusinessdata.com/dialogflow-api-ai-skype-integration/

这是自定义有效负载数据发送到Skype机器人的方式。在这里,我们可以使用类型发送attachments数组中的项目列表,Skype将解释它。

DialogFlow V2-Beta中的

我已经确定了两种使用V2-Beta将数据发送到Skype / Messenger的方法。

  1. 使用dialogflow提供的预定义模板 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Message 这提供了card, image, carousel个视图。当一个card对象列表发送到Skype时,它会将其显示为垂直列表,当发送给Messenger时,它会将其显示为Carousel列表。但是,Skype和Messenger似乎不支持carousel模板 因此,我们剩下的另一个选择是在自定义有效负载中发送数据。

  2. 为了在自定义有效负载中发送它,V2中有2个有效负载。 Message内的webHookResponse对象内 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Message

  3. 另一个有效载荷位于我们将发送的webHookResponse中。 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/WebhookResponse

    这两个都是JSON对象,并且在Message对象中发送它实际上是有效的并且具有适当的JSON格式。当作为自定义有效负载发送时,Skype的JSON格式具有非常少的可用资源。

    "platform":"SKYPE",
    "payload":
           {
            "skype":
                {
                  "attachmentLayout":"carousel",                                                                    
                  "attachments":[
                          {        
                            "contentType":"application/vnd.microsoft.card.hero",
                            "content":{
                                        "title":
                                        "subtitle":
                                        "images":[{"url":}],
                                        "buttons":[{
                                            "type":"postBack",
                                            "title": 
                                            "value": 
                                        }]
                              }
                     ]
                 }
            }
    

    使用此卡将列表发送到Skype,列表显示为轮播列表。在后来的搜索中我发现了 https://tsmatz.wordpress.com/2016/08/31/microsoft-bot-framework-messages-howto-image-html-card-button-etc/ 它有我们可以发送到Skype的不同JSON列表

    快乐的编码!