簡體   English   中英

獲取每個Facebook專輯的專輯WRT專輯ID-Facebook android-sdk

[英]Get the album of each facebook album w.r.t album id - facebook android-sdk

我已經使用facebook android sdk獲取了所有facebook相冊(及其ID),並在列表中顯示了它們。 現在,在特定列表項上單擊,我想獲取該相冊的所有照片(wrt“ id”)

我這樣獲得了專輯ID:

if (!facebook.isSessionValid()) {
        facebook.authorize(this, new String[] { "user_photos" },

        new DialogListener() {

            public void onComplete(Bundle values) {

            mAsyncRunner.request("me/albums", new albumsRequestListener()); 
            }

            public void onFacebookError(FacebookError error) {
            }

            public void onError(DialogError e) {
            }

            public void onCancel() {
            }
        });
    }

public class albumsRequestListener implements RequestListener {

    public void onComplete(String response, Object state) {
        // TODO Auto-generated method stub

        try {

            Log.d("Facebook-Example", "Response: " + response.toString());
            JSONObject json = Util.parseJson(response);
            String count = "0";
            JSONArray jArrData = new JSONArray();
            jArrData = json.getJSONArray("data");


            for (int i = 0; i < jArrData.length(); i++) {

                JSONObject objAlbum = jArrData.getJSONObject(i);


                String albumId = objAlbum
                        .getString("id");
                String albumName = objAlbum
                        .getString("name");

                if(objAlbum.has("count"))
                        {
                    count = objAlbum.getString("count");
                        }
                else
                    {
                    count = "0";
                    }

                FbAlbums obj = new FbAlbums();

                obj.setId(albumId);
                obj.setName(albumName);
                obj.setCount(count);


                listFbAlbums.add(obj);
            }


              FB.this.runOnUiThread(new Runnable() {
                    public void run() {
                        adapter = new FbAlbumsListAdapter(
                                getApplicationContext(),listFbAlbums);
                        lvAlmbums.setAdapter(adapter);
                        pb.setVisibility(View.INVISIBLE);

                        lvAlmbums.setOnItemClickListener(new OnItemClickListener() {

                            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                                Toast.makeText(getApplicationContext(), position, Toast.LENGTH_SHORT).show();
                            }


                    });
                    }

                });
        } catch (JSONException e) {
            Log.w("Facebook-Example", "JSON Error in response");
        } catch (FacebookError e) {
            Log.w("Facebook-Example", "Facebook Error: " + e.getMessage());
        }
    }

    public void onIOException(IOException e, Object state) {
        // TODO Auto-generated method stub

    }

    public void onFileNotFoundException(FileNotFoundException e,
            Object state) {
        // TODO Auto-generated method stub

    }

    public void onMalformedURLException(MalformedURLException e,
            Object state) {
        // TODO Auto-generated method stub

    }

    public void onFacebookError(FacebookError e, Object state) {
        // TODO Auto-generated method stub

    }

}

如何獲取包含每個專輯圖像來源的json? 還是有其他方法? 任何幫助將不勝感激,謝謝

只需使用相冊ID並在最后添加/ photos:

mAsyncRunner.request(albumid+"/photos", new photosRequestListener()); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM