2011-04-28 15 views

答えて

2

あなたは、FacebookからのリアルタイムのAPIを使用する必要があります:あなたはpageオブジェクトとそのfeed接続に登録する必要があり、http://developers.facebook.com/docs/api/realtime/

をあなたが聞いて何をすべきか。

https://graph.facebook.com/<app-id>/subscriptions?access_token=... 

そして、そのためにあなたがで得ることができるアクセストークンが必要です:

https://graph.facebook.com/oauth/access_token?client_id=<app-id>&client_secret=<app-secret>&grant_type=client_credentials 

にあるフィールドをあなたにPOSTリクエストを送信する必要がサブスクリプションを追加するには

POSTデータ内にある:

  • object - 監視するオブジェクトのタイプ。 "user"または "permissions"。そのタイプのすべてのオブジェクトを監視します。たとえば、アプリケーションのすべてのユーザーです。
  • fields - カンマ区切りのリスト。これは、指定されたオブジェクトのプロパティまたは接続のリストです。たとえば、ユーザーの名前の変更、画像、友人、ニュースフィードを監視するために、次のように指定し
  • callback_url「画像を名前を、友人は、フィード」 - Facebookは、サブスクリプションの更新をポストするためにどのコールバックURLを。

そして、あなたは

  • verify_token指定することができます - サブスクリプション要求が検証されている識別に加入者を支援するために、検証要求にエコーバックされる加入者が提供する不透明トークンを。これが含まれていない場合、検証リクエストにトークンは含まれません。これはPubSubHubbub仕様からのものです。

あなたのコールバックURLが確認されたら、あなたのコールバックURLのページの飼料中のときに、データの変更、あなたはJSONオブジェクトとしてアップデートを受信します、ここではユーザーのための例です:

{ 
"object": "user", 
"entry": 
[ 
    { 
     "uid": 1335845740, 
     "changed_fields": 
     [ 
      "name", 
      "picture" 
     ], 
     "time": 232323 
    }, 
    { 
     "uid": 1234, 
     "changed_fields": 
     [ 
      "friends" 
     ], 
     "time": 232325 
    } 
] 
} 

また、同じURLでGETとDELETEを実行して、サブスクリプションのリストを取得し、サブスクリプションを削除することもできます。

しかし、すべての詳細は、しかし、TwitterのストリーミングAPIとは異なり、Facebookのリアルタイム更新が飼料として実際の変化を与えないということである facebook doc

+3

一つの小さな違いです。それは、前記オブジェクトに関する更新が存在することを示すだけである。明示的にオブジェクトを引っ張り、変更を把握する必要があります。 – Balakrishnan

+0

Rubyで利用できるサンプルコードはありますか?私はちょっと調べましたが、リアルタイムのグラフAPIを使っている人はあまりいないようです。ちょっと変です。 – Mesut

+0

これは理論上、ページ上で壁の更新を取得するように機能しますが、動作させることはできません。 – Leopd