米国にいて、特定の Facebook ページが気に入らないすべての友人を選択する FQL クエリを作成しようとしています。理想的には、ページ X またはページ Y が好きな人を除外して、ユーザーの友人の選択を返したいと思います。
Facebook FQL は非常に強力ですが、一部の機能が制限されています。たとえば、「NOT IN」演算子はサポートされていません [ソース1および2 ]。いくつかの調査を行った後、この動作を模倣するための回避策があるようです。私が投稿したソースには例がありますが、要するに、ユーザーはマルチクエリを送信して、別のグループ (クエリ 2) に属していないグループ (クエリ 1) を選択し、結果を返すことができます。
これまでのところ、これは私の FQL クエリですが、希望どおりに動作していません。ヘルプや提案はありますか?
SELECT uid, name, pic_square, current_location FROM user
WHERE current_location.country = 'United States' AND
uid IN (
SELECT uid2 FROM friend WHERE uid1 = me()
) AND NOT (
uid IN (
SELECT uid FROM page_fan WHERE uid IN (
SELECT uid2 FROM friend WHERE uid1 = me()
) AND (page_id=40796308305 OR page_id=56381779049)
)
)
これは次のようになります: 米国に住んでいて、コカ・コーラが好きではない、またはペプシが好きではないすべての友人を選択してください。
私が見た他の解決策は、友人をループし、好きなものをつかみ、そのリストをループして独自のデータ構造を構築することです。私はそれを行うことができますが、それはかなり時間がかかるリクエストの量です。特に、ユーザーに 2 ~ 4,000 人の友達がいる場合はそうです。
助けてくれてありがとう。とても感謝しています。