1

我正在使用实现 webhook 集成 DialogFlow 和 LINE。speech当文本在响应字段中时,我能够成功地将消息回复到用户的 LINE 。

{
  "speech": "your number is 1234"
}

但是,如果我按照文档添加特定于 LINE 的响应,则它不起作用这意味着它根本不回复任何内容。

{
  "data": {
    "line": {
      "replyToken": "e4050bccd34b52...b119069d27bb5",
      "messages": [
        {
          "text": "Hi",
          "type": "text"
        }
      ]
    }
  }
}

这意味着我只能回复一条短信,而不能回复其他富信息。

我做错了什么还是DialogFlow的问题?

4

1 回答 1

1

我终于想出了怎么做!问题中的响应格式不正确。正确的格式是这样的:

{
 'messages': [
   <message object>,
   <message object>
 ]
}

您可以参考消息对象以了解可以使用的类型。需要注意的一点是,对于类型 4,您可以简单地使用LINE中指定的有效负载。

例如,

{
    'messages': [
        {
            'type': 0,
            'speech': 'ABC'
        },
        {
            "type": 4,
            "payload": {
                "line": {
                    "type": "template",                                                                                                                                                                                                                           "altText": "This is a buttons template",
                    "template": {
                        "type": "buttons",
                        "thumbnailImageUrl": "https://images.justlanded.com/event_images/Tets/photo/events_original_45195_42919.jpg",
                        "imageAspectRatio": "rectangle",
                        "imageSize": "cover",
                        "imageBackgroundColor": "#FFFFFF",
                        "title": "Menu",
                        "text": "Please select",
                        "defaultAction": {
                            "type": "uri",
                            "label": "View detail",
                            "uri": "http://example.com/page/123"
                        },
                        "actions": [
                            {
                                "type": "postback",
                                "label": "Buy",
                                "data": "action=buy&itemid=123"
                            },
                            {
                                "type": "postback",
                                "label": "Add to cart",
                                "data": "action=add&itemid=123"
                            },
                            {
                                "type": "uri",
                                "label": "View detail",
                                "uri": "http://example.com/page/123"
                            }
                        ]
                    }
                }
            }
        }

    ]
}
于 2018-03-29T03:53:41.087 回答