2016-08-18 5 views
0

Ruby on Railsを使って公開ページから最新のFacebook投稿を取得し、特定の方法で表示するアプリケーションを構築しようとしています。Graph APIを使用して新しいページ投稿に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時間を手動でフィードを更新するために私が必要となると考えています。新しい投稿を聞いてそれに応じて更新するウェブフックをセットアップすることが可能であればはるかに便利です。私は以下のリンクを見つけましたが、それが可能かどうか、あるいは私が現在やっているより良い方法があるかどうか、それをかなり理解できません。

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

ことが可能であるならば、どのように私はそれを達成するため、または他のより良い方法があるのでしょうか?

答えて

0

私は私が間違っている場合は、あなたが私を修正かもしれないが、これは解決策であると考えていますが、それを試したことがない:

  1. あなたのウェブフックがfeed(または他のもの)のためにsubsribeなければなりません。
  2. POSTで購読アプリをhttps://graph.facebook.com/v2.6/me/subscribed_apps?access_token=PAGE_ACCESS_TOKENに追加します。アクセストークンにはそのアクセス許可が必要です(例:manage_pages)。

希望します。

+0

本当にすべての質問に答えるわけではありませんが、論理は理にかなっています。正しい印をつけて、私が思いついたもので更新しようとします。 – Kevin

0

これを達成するには2つのステップがあります。まず、FacebookのアプリパネルコントロールやKoalaリアルタイムアップデート(webhook references)を使用してページをWebhookにアップロードする必要があります。アプリをそのページの購読アプリに追加します。ここで私はこれらの手順に使用するコードは次のとおりです。

#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",{})

あなたは Koala wiki

重要

を参照してくださいaccess_tokenはページがわからない場合:あなたは、プロトコルを使用する必要があります」 https "とverify_tokenのサイズは64より大きくすることはできません

関連する問題