我正在尝试使用Ruby on Rails构建一个应用程序,该应用程序从公共页面获取最新的Facebook帖子并以某种方式显示它们。
目前,我计划使用Koala gem和Graph API获取帖子get_connection
client = Koala::Facebook::API.new(oauth_token)
client.get_connection('someuser', 'posts',
{limit: @options[:max_items],
fields: ['message', 'id', 'from', 'type',
'picture', 'link', 'created_time', 'updated_time'
]})
但是,我认为这需要我手动更新Feed,每X小时重新运行一次。如果可以设置一个侦听新帖子并相应更新它的webhook会更方便。我找到了下面的链接,但是不能理解它/这是否可行,或者是否有比我目前更好的方式。
https://developers.facebook.com/docs/graph-api/webhooks
如果有可能,我怎么能实现它,还是有另一种更好的方法?
答案 0 :(得分:0)
我相信这是解决方案,但从未尝试过,如果我错了,你可以纠正我:
feed
(或其他内容)。https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=PAGE_ACCESS_TOKEN
。访问令牌必须具有足够的权限(例如:manage_pages
)。希望它有所帮助!
答案 1 :(得分:0)
实现它有两个步骤,首先您需要将您的应用程序挂在webhook上,以获取可以使用Facebook应用程序面板控件或使用Koala实时更新(webhook references)执行此操作的页面,然后您需要将您的应用添加到页面的订阅应用中。以下是我用于这些步骤的代码:
#subscribe app
@updates = Koala::Facebook::RealtimeUpdates.new(app_id:
facebook_app_id,secret: facebook_app_secret)
@updates.subscribe("page", "feed", callback_url, verify_token)
#subscribe page
api = Koala::Facebook::API.new(page["access_token"])
api.graph_call("#{page["id"]}/subscribed_apps",{},"post",{})
如果您不知道页面access_token,请参阅 Koala wiki
重要提示:您需要使用协议" https"对于callback_url和verify_token大小不能超过64