如何使用Android-SDK对Facebook图形数据上的照片进行分页?

时间:2015-07-29 14:15:21

标签: android facebook facebook-graph-api pagination

我想在我的个人资料中获取所有照片。我想使用分页作为查询一次返回一些结果。我的回答是'之后'和'之前'标签。即使我在查询中使用after参数,我仍然会得到相同的结果,不会添加新数据。我该如何修改我的查询以便获得下一组结果?

我的查询 -

do {
            Bundle parameters = new Bundle();
            parameters.putString("fields", "photos{source}");
            parameters.putString("after", afterString[0]);
            GraphRequest request = GraphRequest.newMeRequest(
                    AccessToken.getCurrentAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(
                                JSONObject object,
                                GraphResponse response) {
                            Log.i("GetPhotoUrlTask", response.toString());
                            parsePhotoUrls(response);
                        }
                    });
            request.setParameters(parameters);
            request.executeAndWait();
        } while (!noData[0] == true);

我的回复 -

{Response:  responseCode: 200, graphObject: {"id":"965494620","photos":{"data":[{"id":"47832732","link":"https:\/\/www.facebook.com\/photo.php?fbid=4783552732&set=a.411783262.126046.10&type=1"},
...
...
...
"paging":{"cursors":{"after":"TVRBNE16UTJOREl5TlRVeE1UQXdPakV5TnpnMU1ETTVPVGM2TXprME1EZAzVOalF3TmpRM09ETTIZD","before":"TkRjNE16STNNekkxTlRVek1EQTJPakV6TlRVMk1UQXhNekk2TXprME1EZAzVOalF3TmpRM09ETTIZD"}}}}, error: null}

我应该如何修改我的查询以便获得下一组结果?

1 个答案:

答案 0 :(得分:0)

看看

您应该可以使用

获得下一个结果
https://graph.facebook.com/me?fields=photos{source}&after={after_token}

其中{after_token}是来自上一个请求的令牌,在您的示例TVRBNE16UTJOREl5TlRVeE1UQXdPakV5TnpnMU1ETTVPVGM2TXprME1EZAzVOalF3TmpRM09ETTIZD