2

このURLを使用して、特定のユーザーのFacebookフィードを取得しています: https ://graph.facebook.com/ {id} / feed?access_token = {access_tocken}

次に、「写真」タイプを検索し、「ステータス」または「リンク」タイプを検索してすべての写真を取得し、それらの「メッセージ」を取得します。

問題は、結果の一部が、ユーザーがクローズドグループに投稿した投稿、またはプライベートでユーザーのパブリックウォールに表示されない他の投稿であるということです。また、他のユーザーが自分の壁に書いた投稿も返します。

質問は次のとおりです。返される結果に、ユーザーがアップロードまたはタグ付けした写真のみ(!)、ユーザーが投稿したリンク、およびユーザーがパブリックウォールに投稿したステータスが含まれるように変更する必要があります...何もありません...???

ありがとう。

これは、これらすべてを処理する私のコードの一部です。

$graph_url = "https://graph.facebook.com/" . $facebook_id . "/feed?access_token=" . $facebook_at;
                $facebook_feeds = json_decode(file_get_contents($graph_url),true);
                $facebook_feeds = $facebook_feeds['data'];
                $fbIndex = 0;
                foreach ($facebook_feeds as $facebook_feed)
                {
                    $feed = new Feed();
                    $feed->network = 'facebook';
                    $feed->type = $facebook_feed['type'];
                    $feed->timestamp = strtotime($facebook_feed['created_time']);
                    if ( $feed->type == 'photo')
                        $feed->content = str_replace("_s.jpg", "_b.jpg", $facebook_feed['picture']);
                    else if (($feed->type == 'status' || $feed->type == 'link') && !empty($facebook_feed['message']))
                        $feed->content = $facebook_feed['message'];
                    else
                        continue;
                    $feeds[] = $feed;
                    if (++$fbIndex == 10)
                        break;
                }
4

1 に答える 1

2

質問は次のとおりです。返される結果に、ユーザーがアップロードまたはタグ付けした写真のみ(!)、ユーザーが投稿したリンク、およびユーザーがパブリックウォールに投稿したステータスが含まれるように変更する必要があります...何もありません...???

新しく導入されたフィールド拡張の機能がそれを支援できるかどうかを確認できます。

それ以外の場合、APIは多くの「フィルタリング」を許可しません。この点に関してより詳細な制御が必要な場合は、データを取得するためにFQLに切り替える必要があります。

于 2012-09-13T12:26:31.213 に答える