Результат JSON Facebook Graph API имеет страницу Next, несмотря на то, что данных больше нет
Мне интересно, если это ошибка Facebook или что-то, что я делаю неправильно. В любом случае, я разрабатываю серверное приложение, которое взаимодействует с моим собственным простым приложением Facebook через вызовы Graph API. В целях разработки единственными пользователями приложения Facebook являются несколько тестовых пользователей, которых я определил. В этом сценарии у меня есть один тестовый пользователь "Лиза Миллс", и я хочу вернуть список ее друзей. Ее единственный друг - "Джон Смит". Я использую HTTPS-вызов Graph API для получения ее списка друзей, вот так (ссылки, вероятно, больше не будут работать, но они размещены здесь для наглядности):
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 содержится значение "следующая страница", потому что у Лизы не будет других друзей для возвращения. В любом случае, если я иду к URI, указанному в JSON, я получаю этот ответ:
{
"data": [
],
"paging": {
"previous": "https://graph.facebook.com/100004330990794/friends?limit=5000&offset=0&access_token=AAAGGG3niQkQBAPne8jGOcfZAUZCiqbgDMAPV0QlA5GMGorFdEZCOBAX3daZAOkcWmenyfFwYzuBCxrE2gEOXaZAa7tJptZBE826vvHdw7JtCZB0If9mJ041"
}
}
Конечно... данные не возвращаются. Я естественно предположил бы, что эта "следующая страница" должна иметь дополнительные данные, только если у Лизы было более 5000 друзей. Это ошибка в Graph API Facebook, или это нормальная ситуация, которую мое серверное приложение должно обрабатывать без ошибок?
1 ответ
Я естественно предположил бы, что эта "следующая страница" должна иметь дополнительные данные, только если у Лизы было более 5000 друзей. Это ошибка в Graph API Facebook, или это нормальная ситуация, которую мое серверное приложение должно обрабатывать без ошибок?
В недавней записи в блоге разработчиков Facebook сказал, что они "исправили" это для некоторых частей API:
"Для выбранных ребер мы ввели смещение на основе курсора. Это улучшение определенно указывает, когда вы достигли конца или начала набора данных. Мы больше не будем показывать ссылки "предыдущий" или "следующий" при отсутствии новых данных. Это приводит к более быстрому времени обработки запросов, позволяя сэкономить одну поездку туда и обратно при каждом просмотре всей коллекции. Мы работаем над добавлением поддержки большего количества ребер ".
Выглядит как /user/friends
соединение еще не является одним из "выбранных ребер" …