私はこのようなものをFQL/PHPで動作させています。これが私のマルチクエリです。
{'activity':
"SELECT post_id, created_time FROM stream WHERE source_id = PAGE_ID AND
attachment.fb_object_type = 'photo' AND created_time > 1338834720
AND comments.count > 0 LIMIT 0, 500",
'commented':
"SELECT post_id, text, fromid FROM comment WHERE post_id IN
(SELECT post_id FROM #activity) AND AND (strpos(upper(text), '#HASHTAG') >= 0",
'accepted':
"SELECT post_id, actor_id, message, attachment, place, created_time, likes
FROM stream WHERE post_id IN (SELECT post_id FROM #commented)
ORDER BY likes.count DESC",
'images':
"SELECT pid, src, src_big, src_small, src_width, src_height FROM photo
WHERE pid IN (SELECT attachment.media.photo.pid FROM #accepted)",
'users':
"SELECT name, uid, current_location, locale FROM user WHERE uid IN
(SELECT actor_id FROM #accepted)",
'pages':
"SELECT name, page_id FROM page WHERE page_id IN (SELECT actor_id FROM #accepted)",
'places':
"SELECT name, page_id, description, display_subtext, latitude, longitude
FROM place WHERE page_id IN (SELECT place FROM #accepted)"
}
これを分解するには:
#activity
キャンペーンの開始日以降に作成された、写真であり、コメント数がゼロ以外のすべてのストリームオブジェクトを取得します。500のLIMITを使用すると、投稿の最大数が返されるようです。高い値または低い値は、より少ない値を返します。
#commented
#HASHTAG
コメントの1つのテキストにある投稿を検索します。#
FQLで予約されている文字であるを探しているわけではないことに注意してください。使用すると問題が発生する場合があります。
#accepted
#commentedで見つかった投稿の完全な詳細を取得します。
#images
それらの投稿の画像のすべての詳細を取得します。これをリファクタリングしてobject_id
代わりにpid
使用し、新しいreal_width
仕様を使用してレイアウトを簡単にしてみてください。
#users
#pages
アイテムを最初に投稿した俳優の詳細を取得します。profile
これで、テーブルを使用して1つのクエリでこれを取得できたことがわかりました。
#places
地理的にタグ付けされた投稿の場所の詳細を取得します。
あなたはここでこれが実際に動いているのを見ることができます:http://getwellgabby.org/show-us-a-sign