「巨大なページ」には何の問題もありません。「巨大なページ」にはファンからの投稿やシェアがたくさんあるだけです。実際、このstream表はページのすべてのアクティビティを提供します。
typeストリームアクティビティの対象は、nullコンテンツがユーザーからのものである場合です。ページ所有者からの場合はintになります。https://developers.facebook.com/docs/reference/fql/stream/typeのフィールドの説明を参照してください。
nullをとして取得する理由は、またはフィールドがに設定されlike countている投稿に出くわしたためです。これらの投稿は、ページの外(つまり、ユーザーのタイムラインまたは特定のWebサイト)に存在し、所有者が(公開されている場合でも)公開のいいねやコメントを許可していないため、いいねやコメントを付けることはできません。あなたがページのストリームでそのような活動を見つけるつもりであるならば、彼らが彼らのメッセージまたは写真でページにタグを付けたからです。can_likecan_commentfalse
最初のコメントに答えて編集します。
質問:次のクエリでページの所有者からの投稿が返されないのはなぜですか。
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
AND actor_id = 40796308305
このクエリが返すことができる結果の数を見てみましょう。
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
さて、17の結果が得られます。なぜ17?知らない。
リクエストに追加AND actor_id = 40796308305すると、これらの17の結果の中からどれがとしてあるかがチェックされ40796308305ますactor_id。
答え?なし!
最初の17個の結果のみをチェックするため、LIMIT:を指定する必要があります。
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
AND actor_id = 40796308305
LIMIT 100
そして、そこにあなたはあなたが望むものを手に入れます。
これは、FacebookAPIの微妙な点の1つです。ここに記載されています:https ://developers.facebook.com/blog/post/478/