我一直在尝试获取 Skype 上的轮播列表。我已经使用了指定的 JSON https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#CarouselSelect 但 Skype 没有渲染它或 Facebook Messenger。如果我使用发送卡列表 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Card 然后 Skype 正在渲染垂直 ListView ,而 Messenger 正在渲染轮播列表。并且使用消息对象的轮播选择在 Dialogflow V1 中工作正常 https://dialogflow.com/docs/reference/agent/message-objects#custom_payload_message_object_2使用它我可以发送自定义有效负载来获取各个平台,并且在 V2 中以有效负载发送它也没有帮助。 有没有办法使用DialogFlow V2在Skype中实现轮播列表?如果可以使用有效负载实现此目的,请使用 JSON 进行回复。
提前致谢!
最佳答案
我终于破解了!
轮播中的 Messenger 中的默认 ListView 和 Skype 的默认 ListView 是普通垂直 ListView 。对于我见过的 Skype 机器人开发的大多数官方文档,Skype 鼓励其开发人员使用定义的库,使用这些库创建 JSON 并将其发送到机器人。另一方面,Messenger 拥有许多有关 JSON 格式的资源。
在 DialogFlow V1 中: 在消息对象中,我们可以添加详细信息,例如有效负载的类型以及我们希望将其发送到的平台。更多内容可阅读 https://dialogflow.com/docs/reference/agent/message-objects
所以,Skype中的轮播是通过添加Skype bot的属性attachmentType
来实现的
这指定该项目是否为轮播,否则为普通 ListView 。
JSON 格式指定于
https://miningbusinessdata.com/dialogflow-api-ai-skype-integration/
这就是将自定义负载数据发送到 Skype 机器人的方式。在这里,我们可以发送带有类型的 attachments
数组中的项目列表,Skype 将解释它。
在 DialogFlow V2-Beta 中: 我发现有两种方法可以使用 V2-Beta 向 Skype/Messenger 发送数据。
使用dialogflow给出的预定义模板 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Message 这提供了
卡片、图像、轮播
View 。当card
对象列表发送到 Skype 时,它会将其显示为垂直列表,而当发送到 Messenger 时,它会将其显示为轮播列表。但是,Skype 和 Messenger 似乎不支持carousel
模板 因此,我们剩下的另一个选择是在自定义负载中发送数据。为了在自定义有效负载中发送它,V2 中有 2 个有效负载。
webHookResponse
的Message
对象内部 https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.intents#Message
另一个有效负载位于我们将发送的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 的列表
祝你编码愉快!
关于json - 在Skype中获取dialogflow V2的轮播列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49405991/