是否可以使用Graph API为Facebook页面文章设置Facebook webhook?

是否可以使用Graph API为Facebook页面文章设置Facebook webhook?

问题描述:

我想用Ruby on Rails构建一个应用程序,它从公共页面获取最新的Facebook帖子并以某种方式显示它们。是否可以使用Graph API为Facebook页面文章设置Facebook webhook?

目前,我打算让使用考拉宝石和图形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' 
         ]}) 

然而职位,我相信这将需要我更新饲料手动重新运行该每隔X小时。如果可以设置一个webhook来监听一个新的文章并相应地更新,那将会更加方便。我找到了下面的链接,但是无法理解它/这是否可能,或者是否有比我目前更好的方法。

https://developers.facebook.com/docs/graph-api/webhooks

如果可能的话,我怎么可能实现呢,还是有其他更好的办法?

我相信这是解决方案,但从来没有尝试过,如果我错了,你可能会纠正我:

  1. 你的网络挂接必须subsribe为feed(或其他东西)。
  2. 通过POST向https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=PAGE_ACCESS_TOKEN添加订阅应用程序。访问令牌必须具有足够的权限(例如:manage_pages)。

希望它有帮助!

+0

没有真正回答我的所有问题/ s,但逻辑是有道理的。标记正确,将尝试更新我所提出的内容。 – Kevin

有两个步骤来实现它,首先您需要将您的应用程序订阅到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