2016-08-18 112 views
0

我想用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

如果可能的話,我怎麼可能實現呢,還是有其他更好的辦法?

回答

0

我相信這是解決方案,但從來沒有嘗試過,如果我錯了,你可能會糾正我:

  1. 你的網絡掛接必須subsribe爲feed(或其他東西)。
  2. 通過POST向https://graph.facebook.com/v2.6/me/subscribed_apps?access_token=PAGE_ACCESS_TOKEN添加訂閱應用程序。訪問令牌必須具有足夠的權限(例如:manage_pages)。

希望它有幫助!

+0

沒有真正回答我的所有問題/ s,但邏輯是有道理的。標記正確,將嘗試更新我所提出的內容。 – Kevin

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

相關問題