0

我正在尝试获取专辑的所有照片...我正在获取专辑列表以及它们的照片,但所有照片都是示例图像。

这是代码::

try {

response = EditPhotoActivity.facebook.request(HelperActivity.wallAlbumID+ "/photos");
            JSONObject json = null;
        json = Util.parseJson(response);
                                JSONArray photos = null;
                                photos = json.getJSONArray("data");
                                for (int i = 0; i < photos.length(); i++) {
                                    JSONObject a = null;

                                    a = photos.getJSONObject(i);
                                    String id = a.getString("id");

                                    URL img_value = new URL(
                                            "http://graph.facebook.com/" + id
                                                    + "/picture?type=normal");
                                    Bitmap mIcon1 = BitmapFactory
                                            .decodeStream(img_value
                                                    .openConnection()
                                                    .getInputStream());

                                    phtoID.add(mIcon1);
                                    Log.d("photo size", "" + phtoID.size());

                                }
                                next();
                                albumLength = phtoID.size();
                                Log.d("albumLength", "" + albumLength);

                            } catch (Exception e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
4

1 回答 1

0

我认为您无需单独调用即可获取给定 ID 的相册中的照片。查看此专辑的 Facebook Graph API 调用, http: //graph.facebook.com/10150146071791729/photos

data数组中,数组中的每个元素都有一个source字段,该字段包含指向图像原始源的链接。而不是这样做:

String id = a.getString("id");

URL img_value = new URL("http://graph.facebook.com/" 
    + id + "/picture?type=normal");

尝试这样做:

String src = a.getString("source");
URL img_value = new URL(src);

让我知道这是否有帮助。

于 2012-08-17T18:49:15.743 回答