Android facebook sdk 分页

Posted

技术标签:

【中文标题】Android facebook sdk 分页【英文标题】:Android facebook sdk Pagination 【发布时间】:2015-09-02 10:08:20 【问题描述】:

我是 facebook sdk 的新手。我正在尝试通过图形 API 获取我的所有照片。我能够通过分页字段获得结果。我想通过上一个和下一个。但是上一个和下一个似乎不是一个网址。我参考了 facebook 开发人员文档,但找不到任何示例。谁来帮帮我。这是我的代码

GraphRequest graphRequest = new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/"+userID+"/photos",
            null,
            HttpMethod.GET,
            new GraphRequest.Callback() 
                @Override
                public void onCompleted(GraphResponse response) 
                    // TODO Auto-generated method stub
                    Log.d("Response ","Response " + response);

                    JSONObject json = response.getJSONObject();
                    JSONArray jarray = null;
                    try
                        jarray = json.getJSONArray("data");
                        if(jarray != null)
                            // Loop through the "data" and get the id
                            for (int i = 0, len = jarray.length(); i < len; i++) 
                                JSONObject item = jarray.getJSONObject(i);
                                noOfRequest++;
                                downloadFbPhotos(item.getString("id"));
                            
                        


                        if(!json.isNull("paging")) 
                            JSONObject paging = json.getJSONObject("paging");
                            JSONObject cursors = paging.getJSONObject("cursors");
                            if (!cursors.isNull("after"))
                                after = cursors.getString("after");
                            
                            else
                                //no after
                            
                        
                    
                    catch(JSONException e)
                        //
                    
                
            
        );

        Bundle parameters = new Bundle();
        parameters.putString("fields", "data,paging");
        //parameters.putString("limit", "100");
        //parameters.putString("offset", "1");
        //parameters.putString("after", "");
        graphRequest.setParameters(parameters);
        graphRequest.executeAsync();

这是一个示例响应:

09-02 15:31:11.794: D/Response(1523): 响应 Response: responseCode: 200, graphObject: "data":["id":"785636858147560","id": "653561304732935","id":"10152196967129315","id":"504111853031524","id":"724361997575090","id":"10201722174609862","id": “553468811388609”], “寻呼”: “游标”: “后”: “TlRVek5EWTRPREV4TXpnNE5qQTVPakV6TnprMk5USTJOVFE2TXprME1EZAzVOalF3TmpRM09ETTIZD”, “前”: “TnpnMU5qTTJPRFU0TVRRM05UWXdPakUwTURVNU1qRXlORGM2TXprME1EZAzVOalF3TmpRM09ETTIZD”,错误:空

示例响应响应不包含上一个和下一个。相反,它只包含之前和之后。那么,如何在这段代码中使用分页。提前致谢

【问题讨论】:

【参考方案1】:

你是对的。这不是网址。要访问分页数据,您应该将 before/after=the thing you get in result 附加到您的请求中

【讨论】:

以上是关于Android facebook sdk 分页的主要内容,如果未能解决你的问题,请参考以下文章

Facebook通过iOS中的Facebook SDK通过应用程序登录?

Facebook iOS SDK - 分享用户照片

iOS Facebook SDK 权限未经审查

在 Facebook SDK Android 上找不到文件“com.facebook.android.facebook”

无法使用 Facebook Android SDK 和 Facebook Audience Network SDK 编译

通过 Xamarin.Facebook.Android sdk 登录 Facebook