Facebook APIで自分の友達を一括で取得する


FacebookAPIで自分の友達を一括で取得したい場合、FQLとGraphAPIの2つの取得方法があります。

  • FQLの場合(最大5000件)
SELECT uid,name FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) limit 5000;
  • GraphAPIの場合(最大5000件)
/me/friends?limit=5000&fields=picture,name,id

確認は「Graph API Explorer」でできます。

自分の場合は友達数が200くらいだったので問題なく実行できたのですが、友達数が多い人(1000)に試してもらったところ、FQLの場合だと以下のようなエラーが発生してしまいました。

{
  "error_code": 2, 
  "error_msg": "Service temporarily unavailable"
}

GraphAPIの場合は1000人でも問題なく取得できたのですが。謎です。

参考