これはFacebookのバグなのか、それとも私が間違っているのか疑問に思っています。とにかく、私はGraphAPI呼び出しを介して自分の単純なFacebookアプリと通信するサーバーアプリケーションを開発しています。開発の目的で、Facebookアプリの唯一のユーザーは、私が定義した少数のテストユーザーです。このシナリオでは、1人のテストユーザー「LisaMills」がいて、彼女の友達のリストを返したいと思います。彼女の唯一の友達は「ジョン・スミス」です。私はGraphAPIHTTPS呼び出しを使用して、彼女の友達のリストを取得します(リンクはおそらくもう機能しませんが、説明のためにここに投稿されています):
https://graph.facebook.com/100004330990794/friends?access_token=AAAGGG3niQkQBAPne8jGOcfZAUZCiqbgDMAPV0QlA5GMGorFdEZCOBAX3daZAOkcWmenyfFwYzuBCxrE2gEOXaZAa7tJptZBE826vvHdw7JtCZB0If9mJ041
結果のデータ:
{
"data": [
{
"name": "John Smith",
"id": "100004375356845"
}
],
"paging": {
"next": "https://graph.facebook.com/100004330990794/friends?access_token=AAAGGG3niQkQBAPne8jGOcfZAUZCiqbgDMAPV0QlA5GMGorFdEZCOBAX3daZAOkcWmenyfFwYzuBCxrE2gEOXaZAa7tJptZBE826vvHdw7JtCZB0If9mJ041&limit=5000&offset=5000&__after_id=100004375356845"
}
}
不可解なのは、リサが他の友達を返すことはないため、JSON応答に「次のページ」の値が含まれている理由です。とにかく、JSONで指定されたURIにアクセスすると、次の応答が返されます。
{
"data": [
],
"paging": {
"previous": "https://graph.facebook.com/100004330990794/friends?limit=5000&offset=0&access_token=AAAGGG3niQkQBAPne8jGOcfZAUZCiqbgDMAPV0QlA5GMGorFdEZCOBAX3daZAOkcWmenyfFwYzuBCxrE2gEOXaZAa7tJptZBE826vvHdw7JtCZB0If9mJ041"
}
}
もちろん...データは返されません。この「次のページ」には、リサに5000人以上の友達がいる場合にのみ、追加のデータが含まれているはずです。これはFacebookのGraphAPIのバグですか、それともサーバーアプリケーションがエラーなしで処理する必要がある通常の状況ですか?