通过Dialogflow聊天机器人打开facebook Messenger相机

时间:2018-04-16 09:46:05

标签: facebook actions-on-google dialogflow

我在Dialogflow上创建了一个聊天机器人,它告诉用户我(扩展)家庭成员的姓名以及他们的生活地点。我已经创建了一个包含MySQL的小型数据库,其中存储了这些数据,并且只要这是合适的,我就会使用PHP脚本来获取它们,具体取决于用户与聊天机器人的交互。

我已将此聊天机器人集成到Facebook Messenger。我的问题如下:

我可以通过Dialogflow直接触发Facebook Messenger手机相机(并且不使用任何其他前端相机)吗?

我想打开相机的原因是允许用户拍摄他/她自己的照片,然后我将使用一些计算机视觉库处理照片,以推断照片中的此人是否是家庭成员矿。显然,我可以简单地创建另一个基本的前端,我将在任何时候打开相机。意图称为“相机”#39;是触发但我想知道是否可以直接在facebook messenger上这样做。

我在Dialogflow后端收到的json响应仅包含以下UI功能:

    "surface": {
        "capabilities": [
            {
                "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
            },
            {
                "name": "actions.capability.SCREEN_OUTPUT"
            },
            {
                "name": "actions.capability.AUDIO_OUTPUT"
            },
            {
                "name": "actions.capability.WEB_BROWSER"
            }
        ]
    } 
因此,我的第一印象是不能通过Dialoglfow(和Facebook Messenger)直接打开相机。

我是对的吗?

1 个答案:

答案 0 :(得分:2)

嗯,你是对的...但可能不是你想的原因。

首先,由于您没有使用Facebook Messenger,您无法打开Facebook Messenger相机。您正在使用Google智能助理。目前,Google智能助理没有定义将图像发送到您正在与之交互的操作的方法。 (它与Google Lens一起使用,但此时,没有办法让你这么做。)

其次,你实际上并没有打开"相机。如果用户通过Messenger摄像头向您发送图像,则可以通过查看您在履行中获得的JSON中的originalRequest字段来处理此问题,该字段应包含包含图像的message from Facebook