我正在尝试使用适用于Android的Graph API检索用户的用户喜欢。这是我的代码:
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个喜欢以及" next"响应中的元素,它是一个用于检索下一组100个喜欢的URL。 "下一个" URL的类型为:
其中1206543003是一些随机用户ID。现在,这就是我被困住的地方。我不知道如何处理" next" URL以及如何进行调用以检索下一组喜欢(以及最终用户的所有页面喜欢)。我浪费了整整一天(一半)试图在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"
}
}
}}
答案 0 :(得分:-1)
使用限制
的“偏移”使用带有偏移0的限制100(在列表中插入数据)
然后
使用带有偏移100的限制100(在列表中插入数据)
使用带有偏移200的限制100(在列表中插入数据)
....
...
直到你变空/没有数据
使用数据欢呼!