5

ユーザーのフィードにアクセスできるアプリケーションがあります。このチュートリアルに従って、アプリケーションのリアルタイム更新をセットアップしました: http://developers.facebook.com/docs/reference/api/realtime/

基本的に、ユーザーがフィードにアクションを投稿すると、Facebook からコール バック リンクへの情報を正常に受信します。情報は次のようになります。

{"object":"user","entry":[{"uid":"629498222","id":"629498222","time":1361371026,"changed_fields":["feed"]}]}

私の悩みはそこから始まります。リアルタイム更新について読んだすべてのチュートリアルは、更新の実際のデータに到達する方法を実際に説明することなく、その時点で正確に終了します。

だから私はあらゆる種類のこと、特に次のコードを試して、ユーザーのフィードを取得して最新の投稿にアクセスできるようにしています。これは私のコールバックphpファイルにあります:

 $app_token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
               .$app_id.'&client_secret='.$app_secret
               .'&grant_type=client_credentials';
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $app_token_url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $res = curl_exec($ch);
 parse_str($res, $token);

 if (isset($token['access_token'])) {
  curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/629498222/feed'
                              .'?access_token='
                              .$token['access_token']);
   $res = curl_exec($ch);
   if ($res && $res != 'null') {
     print_r($res);
   }
}

結果は期待どおりではありません。そのユーザーの投稿を取得しますが、公開されている場合のみです。アプリケーションがユーザー ストリームにアクセスできるにもかかわらず、そのユーザーのすべての投稿を取得できません。理由はありますか?

どんな助けでも大歓迎です。更新を投稿したユーザーから実際のデータを取得して、リアルタイム更新を完了する方法が本当に必要です。

4

1 に答える 1

0

リアルタイム サービスの主な目的は、アプリケーションがキャッシュしているデータが古くなり、更新する必要があることをアプリケーションに知らせることです。「コンテンツ サブスクリプション」サービスとして設計されたものではありません。

そのため、通知を受け取ると、更新された情報に対して別の呼び出しを行うことが予想されます (たとえば、ユーザーが次回ログインするとき)。具体的には、ユーザーのストリームから読み取る場合、read_stream アクセス許可がアプリ トークンに付与されていない可能性がありますが、それを確認するための決定的なドキュメントは見つかりません。私が見つけた最も近いものは、このページの下部にある「アプリ アクセス トークンのその他の機能」ですhttps://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

于 2013-05-22T23:08:38.903 に答える