アプリ内のユーザーが、友達ではない人を名前で検索できるようにしたいと考えています。
次のクエリを使用して、ユーザーの公開検索を実行できることを理解しています:
search?q=mark&type=user
これにより、その名前を持つすべてmark
のユーザーが得られ、ユーザーとはあまり関係がありません。
これを使用して、友達であるユーザーを名前で検索します。
fql?q=
SELECT uid, name, pic_square
FROM user
WHERE strpos(lower(name),lower('mark')) >=0 AND
uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
私は、ユーザーが次のようなものを使用して友達の友達を検索できるようにすることに満足しています。
fql?q=
SELECT uid, name, pic_square
FROM user
WHERE strpos(lower(name),lower('mark')) >=0 AND
uid IN (SELECT uid2
FROM friend
WHERE uid1 IN (SELECT uid2
FROM friend
WHERE uid1 = me()))
残念ながら、次のエラーが返されます。
{
"message": "(#604) Can't lookup all friends of #####.
Can only lookup for the logged in user or the logged in user's friends that
are users of your app.",
"type": "OAuthException",
"code": 604
}
私はこのエラーを理解しています。パブリック検索を使用する必要があるようです。
名前に「マーク」が含まれる、大学 XXX に所属するすべてのユーザーを公開検索するにはどうすればよいですか?
または、特定のユーザーに関連するもので公開検索をフィルタリングする代替手段はありますか?