Я использую Facebook SDK для JS, чтобы получить список друзей FB для данного идентификатора пользователя FB. По сути, я делаю запрос следующим образом:
FB.api(`/${fbUserId}/friends`, (response) => {
if (response && response.data) {
fbFriends = fbFriends.concat(response.data);
}
if (response && response.paging && response.paging.cursors && response.paging.cursors.after) {
// Recurse through.
}
});
Я могу получить первый набор результатов, который содержит 13 друзей, а также видеть, что общее количество друзей превышает 200, но проблема в том, что я когда я пытаюсь пройти через все 200+ друзей.
В частности, я ссылаюсь на следующие две страницы:
- https://developers.facebook.com/docs/graph-api/using-graph-api/#cursors
- https://developers.facebook.com/docs/graph-api/reference/user/friends/
Пытаясь собрать воедино эти две страницы, я подумал, что URL запроса, подобный следующему, будет работать:
const afterParam = response.paging.cursors.after ? `&after=${response.paging.cursors.after}` : '';
FB.api(`/${fbUserId}/friends${afterParam}`, (response) => {
...
Но это не возвращает никаких результатов. Я веду консольный журнал response.paging.cursors.after
, и я уверен, что он настроен соответствующим образом с первого вызова API, но больше не возвращает друзей. Я всегда получаю пустой массив для response.data
.
Что я делаю не так? Следует признать, что документы FB API кажутся немного скудными, и я нигде не вижу, где они конкретно показывают, как go просматривать страницы результатов для конечной точки API друзей, но я, очевидно, что-то упускаю. Спасибо.