2012-12-05 170 views
0

所以我試圖顯示來自相冊和Android應用程序的Facebook照片。Android的Facebook專輯照片請求只返回25張照片

我遇到的問題是,如果我把這叫做:

facebookAsyncRunner.request(albumId + "/photos", new UserAlbumPhotosFetchListener(JSONResponse, photoView)); 

我得到的25張照片數組的JSONResponse。不過,我需要的不僅僅是25張照片......我需要他們在專輯中的所有人。所以我試圖打電話給:

facebookAsyncRunner.request(albumId + "/photos?limit=50", new UserAlbumPhotosFetchListener(JSONResponse, photoView)); 

試圖獲得50張照片,而不是25張。這沒有奏效。相反,我什麼都沒有。 我也試着用limit = 0來調用這個相同的東西,但是這給了我相同的結果。 必須具體說明:JSONResponse.getJSONArray(「data」)= []

有沒有人知道發生了什麼/如何請求超過來自專輯的25張照片?

謝謝!

編輯:我找到了解決方案!

Bundle params = new Bundle(); params.putString("limit", "10"); facebookAsyncRunner.request(albumId + "/photos", params, new UserAlbumPhotosFetchListener(JSONResponse, photoView));

回答

0

你應該需要使用分頁爲獲得超過25張照片。對於單個查詢,您只能得到25個項目。加載下一個25你應該使用的代碼如下圖所示:

facebookAsyncRunner.request(albumId + "/photos?offset=25&limit=25", new UserAlbumPhotosFetchListener(JSONResponse, photoView)); 

這將從25位返回下一個25個項目,在這種情況下,照片第50位。

試試這種方式.. 希望這可以解決您的問題。

+0

的一個實例,但不幸的是,它仍然會響應:{​​「data」:[]} –

2

我已經發布這對於這裏無盡滾動列表集成分頁答案:

https://stackoverflow.com/a/13265776/450534

它太大了一遍後,讓我連接到原來的答案,而不是。答案字面上是一個完整的解決方案,如何使Facebook查詢到一個相冊,獲取所有的照片(限制最初限制= 10),然後從用戶滾動到最後添加額外的相冊中獲取額外的照片,並添加他們到已獲取的照片的現有列表。

它使用GridView而不是ListView,但邏輯保持完全相同。

或者,如果您正在尋找只有的方式來獲取照片,這是一個更簡單的解決方案,讓你開始。

try { 
    String test = Utility.mFacebook.request("/10151498156121729/photos&access_token=YOUR_ACCESS_TOKEN?limit=1"); 
    Log.e("TEST", test); 
} catch (Exception e) { 
    // TODO: handle exception 
} 

相冊ID在上面的代碼塊中使用(10151498156121729),是一個網站公開相冊。

我使用3.0以前的Facebook SDK的HackBook示例中的Utility類。如果您使用的是3.0 SDK,我認爲您需要將Utility.mFacebook.request位替換爲Facebook類

相關問題