2012-07-30 5 views
22

facebookからリアルタイムアップデートを受け取るようにサーバーを設定しました。トークンを取得するための認証を行ってコールバックURLを登録しました。認証GET要求以降の単一通知。Facebookからのリアルタイムアップデートは一切受け付けていません

私はGET graph.facebook.com/APP-ID/subscriptions私が受け取る...だから私の知る限り、リアルタイム通知が正しくセットアップされて言うことができるように

data: [ 
{ 
    object: "user", 
    callback_url: "REDACTED-VAID-URL", 
    fields: [ 
    "activities", 
    "books", 
    "checkins", 
    "events", 
    "feed", 
    "friends", 
    "interests", 
    "likes", 
    "location", 
    "movies", 
    "music", 
    "television" 
    ], 
    active: true 
} 
] 

。 自分のPOSTをコールバックURLに送信すると、サーバーは毎回POSTの詳細を電子メールで送信しますが、Facebookのアップデート後にこれを受け取ったことはないので、URLに当たっていないと確信しています。 私はアプリで認証された複数のユーザーを抱えています。フェイスブックでさまざまなことを試してみました(状況の更新、投稿など)。私は彼らのフィードなどを通常の休息APIから引き出すことができます。

ここに欠けているものがあります。これを動作させるには他に何が必要ですか? PHPを使用してそれらのために

+1

あなたがこれまでに得た限り。私は正確にサブスクリプションを設定するために管理しているが、私はどんな通知を受け取りません何か..これまで.. Upvoted! –

+0

この問題に関する最新情報はありますか? –

+1

本当に答えはありませんが、Alexanderのこの問題や関連する問題について私にpingしたことに対応して、私は提供することはあまりありません。 Facebook上のあなたのアプリが正しく設定されていると仮定すると(正しい購読情報が得られているように見える)、私の唯一の考えは、Facebookからのヒットがあなたのネットワーク/ファイアウォール/ etcを通過できることを確認することです/あなたのサーバーに。 Facebookからの他のヒットも表示されますか?あなたは、あなたの直接のネットワークの外のどこかの場所からコールバックURLに投稿しようとしましたか?申し訳ありませんが私はもっと助けることができません... –

答えて

3

...

FacebookのリアルタイムPOSTデータが入ってくるか、PHPの通常の$ _POST配列を経由して認識されません。あなたは、生のJSONがサーバーにリクエストを作る取得するには、次のように使用することができます。

$json = file_get_contents("php://input"); 

あなたは、単にによって、配列にこれを変換することができます:それは、しかし、残念だ

$realtime = json_decode($json, true); 

-

+1

+1は、POSTデータを取得するヒントです。またFacebookがあなたに与えるデータはまったく価値がないわけではありません。どのオブジェクトに変更があったかを伝え、更新されたデータを取得するためにグラフをもう一度呼び出す必要があります。 –

+0

私は訂正しました。本当です。 –

0

私の場合、私はGETリクエストを受け入れていましたが、コールバックURLでPOSTリクエストを受け付けていませんでした。

関連する問題