Как сделать результаты разбивки на страницы с конечной точки друзей Facebook SDK? - PullRequest
0 голосов
/ 24 февраля 2020

Я использую 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+ друзей.

В частности, я ссылаюсь на следующие две страницы:

  1. https://developers.facebook.com/docs/graph-api/using-graph-api/#cursors
  2. 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 друзей, но я, очевидно, что-то упускаю. Спасибо.

...