プロフィール写真だけで友達を作る方法が思いつきません。マルチクエリを使用して、すべての友人が写真を持っているかどうかを確認できますが、それでは大量のトラフィックが発生します。
代替手段はありますか?
プロフィール写真だけで友達を作る方法が思いつきません。マルチクエリを使用して、すべての友人が写真を持っているかどうかを確認できますが、それでは大量のトラフィックが発生します。
代替手段はありますか?
これは、単純なFQLで実現できます。
SELECT uid, name, pic_small FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND pic_small != 'https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v1/yP/r/FdhqUFlRalU.jpg'
seb-queryは、すべての友達を取得しますuids
。pic_small
他のクエリは、Facebookがプレースホルダーとして使用するものを参照しているかどうかを確認するプロファイルデータチェックとuidsを照合します。
ここですばやくテストできます。
Gajus の提案したクエリは今でも機能する可能性がありますが、Facebook が CDN のデフォルトの画像の URL を変更すると機能しなくなります。(起こるかもしれないし、起こらないかもしれない。)
したがって、改善のためにこれをお勧めします:
profile_pic
テーブルには というフィールドがありis_silhouette
、ユーザーが独自のプロフィール写真を設定しているかどうかを表すブール値です。
したがって、プロフィール写真が設定されている友達のみを取得するには、次を使用できます
SELECT uid, name FROM user WHERE uid IN
(SELECT id FROM profile_pic WHERE
id IN (SELECT uid1 FROM friend WHERE uid2 = me() )
AND NOT is_silhouette
)