過去数日間にユーザーのFacebookの友達が共有した最新のリンクを取得しようとしています。過去7日間で次のようにしましょう。
FQLを使用すると、一度に最大20人の友達がこれを取得できます。
$fql = "SELECT link_id, owner, created_time, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from friend where uid1 = me() LIMIT 20) AND created_time >= $_7ago";
友達数の制限を20からそれ以上に設定すると、クエリがクラッシュします。私の現在の解決策は、このクエリを繰り返して、(たとえば)1000人の友人をループ内の20人のグループに分割することです。これは実際には機能しましたが、実行には5分以上かかります。
私もこの方法でマルチクエリを試しました(そして速度は向上していません):
"links":"select uid2 from friend where uid1 = me() LIMIT 20",
"stats":"SELECT owner, owner_comment, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from #links) AND created_time >= \"' . $_7ago . '\""
より速い代替/解決策はありますか?
http://www.pixable.com/<-3 秒以内に友達が共有する毎月の写真をプルすることができます