我有一个工作的 Facebook Messenger 机器人。
从 Messenger 应用程序中,我希望我的机器人为用户触发“相机”操作(拍摄新图片或视频)。
为了澄清假设的上下文,我将创建持久菜单操作,它模仿单击消息文本区域下的“相机”按钮的行为。
我查看了 Graph Api 的“Page Call To Action”操作,但找不到会产生所需行为的参数。
我有一个工作的 Facebook Messenger 机器人。
从 Messenger 应用程序中,我希望我的机器人为用户触发“相机”操作(拍摄新图片或视频)。
为了澄清假设的上下文,我将创建持久菜单操作,它模仿单击消息文本区域下的“相机”按钮的行为。
我查看了 Graph Api 的“Page Call To Action”操作,但找不到会产生所需行为的参数。
这是您的问题的解决方案。
在 Facebook Messenger 中,您可以打开 web 视图并加载网页。但是请记住,好的旧 HTML 5 为我们提供了一种简单的方法,可以让用户在移动设备上使用他们的相机。
以下这些步骤今天有效
您可以使用 url 按钮来打开 web 视图
“按钮”:[{“类型”:“web_url”,“url”:“ https://url_to_your_webpage ”,“标题”:“查看项目”,“webview_height_ratio”:“compact”}]
在您的网页中,包含此 HTML5 元素,允许用户通过手机上的相机拍摄图像
<input type="file" accept="image/*" capture="camera" />
将图像提交到您的服务器,关闭 web 视图,然后进行任何需要的处理。例如,您现在可以将图像从您的机器人发送回用户。
您可以简单地向用户发送消息以单击相机图标,单击图片并将其发送给机器人。然后,您可以将该图像作为附件接收 -> 阅读“带有图像附件的消息”并回复用户。这将是更多的原生体验。在 webview 中,用户可以拒绝对摄像头的许可(如果需要)。希望这可以帮助!
我很确定现在没有办法做你想做的事。希望将来,Messenger 团队会为机器人添加更多类似的功能。