Fql は次のとおりです (名前でフィルターすると、すべてを一目で確認できます)。
SELECT id,name,pic_square FROM profile WHERE id IN (SELECT uid2 FROM friend WHERE uid1=me()) and name='Facebook User'
スクリーンショット:
私のアプリがこの存在しない/紛らわしい名前をすべてアプリ ユーザーに表示するとイライラします。ユーザー IDは、 http://www.facebook.com/USER_I **D経由でもアクセスできません。pic_square は、Facebook のデフォルトのプロフィール写真でもあります。もちろん、私が今できることは **name!='Facebook User'でフィルタリングすることですが、なぜこの追加のフィルターをしなければならないのか本当に不思議です?
もともと、キャッシュされたユーザーを削除/非アクティブ化したユーザーなのだろうか。そのため、テストのためにユーザーを非アクティブ化/プラットフォームをオフにしようとすると、ユーザーは「Facebookユーザー」として表示されず、まったく表示されません。したがって、原因はプライバシー設定やアカウントの削除に関連するものではありません。
また、「Facebook ユーザー」の問題はずっと前に気づいていたので、キャッシュに関連する理由はありません。
このユーザー ID は、https://graph.facebook.com/me/friends経由では含まれません。FQL フレンド テーブルで発生します。
バグかどうかはわかりませんが、フレンドテーブルに関する概念が欠けている可能性があるため、ここで質問します。FQL フレンド テーブルから返された見知らぬ名前の "Facebook User" は誰ですか?
前もって感謝します。