2014-10-10 97 views
0

我想要检索用户喜欢使用Android的Graph API的用户。这是我的代码:在Android上使用Facebook SDK获取分页的用户喜欢

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等),喜欢的号码,图形API似乎最多只用100喜欢的与“沿着旁边的响应返回“响应中的元素,这是一个URL来检索下一组100个喜欢。 “下一个” URL的类型为:

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

其中1206543003是一些随机用户ID。现在,这是我卡住的地方。我不知道如何处理“下一个”网址以及如何进行调用以检索下一组喜欢(以及最终所有页面喜欢的用户)。我浪费了整整一天的时间(一半)试图在Facebook SDK文档中找到一些指向我如何去做这件事的东西,但到现在为止还没有找到任何东西。

这是我得到的回应,当我拨打电话获得第一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(插入在列表数据)

然后

使用限制100偏移100(在列表中插入数据)

使用限制100偏移200(在列表中插入数据)

....

....

直到你得到空/没有数据

使用数据的欢呼声!

相关问题