【发布时间】:2017-05-26 12:53:48
【问题描述】:
我正在尝试使用 Hypersolo 提供的 facebook messenger gem 构建一个 Messenger 机器人:https://github.com/hyperoslo/facebook-messenger
我总是收到以下错误: Facebook::Messenger::Bot::RecipientNotFound(不支持的发布请求。ID 为“me”的对象不存在,由于缺少权限而无法加载,或者不支持此操作。请阅读 https://developers.facebook.com/docs/graph-api 的 Graph API 文档)
我认为错误是由于 access_token 无效或无效,但是我一遍又一遍地请求一个新的,错误仍然存在。我检查了我的页面订阅,这似乎很好,并在 webhook 中禁用了 message_echoes。
我使用的代码很简单:
require 'facebook/messenger'
include Facebook::Messenger
Facebook::Messenger::Subscriptions.subscribe(access_token: ENV["ACCESS_TOKEN"])
Bot.on :message do |message|
message.reply(text: 'Hello, human!')
end
另外;忽略回复并检查消息变量会给我一个有效的消息对象。
#<Facebook::Messenger::Incoming::Message:0x007fdd2d4a40e0 @messaging={"sender"=>{"id"=>"1349987331712XXX"}, "recipient"=>{"id"=>"1683630555268XXX"}, "timestamp"=>1484149162343, "message"=>{"mid"=>"mid.1484149162343:d5a47f1649", "seq"=>121620, "text"=>"Why wont this work?"}}>
【问题讨论】:
-
你检查了 facebook 应用权限吗?
标签: ruby facebook facebook-graph-api facebook-messenger