这是我的第一个问题,如果我做错了,请告诉我。我尝试使用'messenger-ruby'gem(https://github.com/netguru/messenger-ruby)构建一个简单的facebook messenger机器人。我成功安装了gem,但我认为我并没有真正了解如何发送/接收消息。
详细说明,我遵循了自述文件中的所有步骤:
到目前为止这一切都有效,https://developers.facebook.com/apps/.../messenger我在Webooks下看到了绿色支票,并在订阅页面下看到了我的页面。
我做了不做了“App Review for Messenger”。
现在出现问题:我尝试向每个传入的消息发送标准回复。我把#components下的自述文件中的代码放入messenger_controller.rb:
# YOUR_APP/app/controllers/messenger_controller.rb
class MessengerController < Messenger::MessengerController
def webhook
#logic here
if fb_params.first_entry.callback.message?
Messenger::Client.send(
Messenger::Request.new(
Messenger::Elements::Text.new(text: 'some text'),
fb_params.first_entry.sender_id
)
)
end
render nothing: true, status: 200
end
end
但是当其中一个页面管理员向页面发送消息时,没有任何反应。我查看了日志,但没有看到我期望的POST请求。
当使用我的浏览器访问https:/.../ messenger / webhook时,我看到“无效的验证令牌”,并在日志中显示以下内容:
Started GET "/messenger/webhook" for xxx.xxx.xxx.xxx at 2016-07-22 14:39:52 +0000
Cannot render console from xxx.xxx.xxx.xxx! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by Messenger::MessengerController#validate as HTML
Completed 200 OK in 10ms (Views: 0.3ms | ActiveRecord: 0.0ms)
我猜这没关系,但我不确定。
我确信我可能犯了一个简单的错误,但我整天都在阅读文档而无法找到解决方案。我甚至不确定问题是什么,因为我希望在日志中找到POST请求......
真的很感激任何帮助。请告诉我如何改进我的问题。
答案 0 :(得分:2)
在写完我的问题后,我正在摆弄https://developers.facebook.com/apps/。我意识到:
我将该用户添加为应用管理员,并且有效。上面的代码和gem安装都可以。
因为这花费了我差不多一整天,我希望这个答案能帮助其他人。对不起,如果我回答我自己的问题。