2014-10-10 1 views
0

Я пытаюсь получить пользователя, который любит пользователя, используя Graph API для Android. Это мой код:Получение пользователю с разбивкой по страницам нравится использовать Facebook SDK на Android

Bundle params = new Bundle(); 
params.putString("id", graphUser.getId()); //getId() returns current user ID 
params.putString("fields", "likes.limit(100)"); 
Request request = new Request(session, "me", params, HttpMethod.GET, callback); // callback is my callback function to handle the response 
RequestAsyncTask task = new RequestAsyncTask(request); 
task.execute(); 

Какой бы предел я ставлю (1000,10000 и т.д.) к числу подобных, то Graph API, кажется, возвращает максимум только 100 подобных в ответ вместе с «рядом "в ответе, который является URL-адресом для получения следующего набора из 100 символов. "Следующий" URL имеет тип:

https://graph.facebook.com/v1.0/1206543003/likes?limit=100&access_token=someRandomAccessToken&after=ODcyNDc3ODMzNzE%3D

где 1206543003 является некоторый случайный идентификатор пользователя. Теперь, вот где я застрял. Я не знаю, что делать с «следующим» URL-адресом и как сделать вызов для получения следующего набора понравившихся (и в конечном итоге всех пользователей понравится пользователю). Я потратил целый день (полторы), пытаясь найти что-то в документации по SDK для Facebook, которая указывает на то, как я могу это сделать, но до сих пор ничего не нашел.

Это ответ, который я получаю, когда я делаю вызов, чтобы получить первые 100 любит:

{responseCode:200, 
graphObject:GraphObject{graphObjectClass=GraphObject, 
state={"id":"1206543004", 
"likes":{ 
"data":[ 
{ 
"id":"334867149911874", 
"created_time":"2014-10-02T12:57:07+0000", 
"category":"Musician\/band", 
"name":"George Ezra" 
}, 
{ 
"id":"749140291815592", 
"created_time":"2014-09-08T19:50:09+0000", 
"category":"Clothing", 
"name":"OSOM" 
}, 
. 
. 
. 
. 
], 
"paging":{ 
"cursors":{ 
"after":"NTQwMjk3MTQ5MzQ1NjMw", 
"before":"MzM0ODY3MTQ5OTExODc0" 
}, 
"next":"https:\/\/graph.facebook.com\/v1.0\/<User ID>\/likes?access_token=<Access Token>&limit=100&after=NTQwMjk3MTQ5MzQ1NjMw" 
} 
} 
}} 

ответ

-1

использовать Марка «смещение» тоже с пределом

Использование ограничения 100 со смещением 0 (Insert данные в списке)

затем

использования ограничить 100 со смещением 100 (данные вставки в списке)

Используйте ограничение 100 с офсетных 200 (данные Вставка в списке)

....

....

Пока вы не получите пустой/нет данных

Использование данных ура!