2

我已經能夠通過檢索以下專輯的名單:春實社會:讓空照片信息(URL)的唯一編號不爲空

final Facebook facebook = new FacebookTemplate(facebookAccessToken, appName); 

final PagedList<Album> albumList = facebook.mediaOperations().getAlbums(); 


for (Album album : albumList) { 
    if (album.getName().equalsIgnoreCase("Profile Pictures")) { 
    PagingParameters pagingParameters = new PagingParameters(NO_OF_FB_PHOTOS, null, null, null); 
    final PagedList<org.springframework.social.facebook.api.Photo> profilePhotos = 
          facebook.mediaOperations().getPhotos(album.getId(), pagingParameters); 

我已驗證albumList包含正確的我的臉書帳戶中的專輯數量和專輯ID匹配。然而,配置文件圖片專輯中的profilePhotos'Photo對象包含空圖像&鏈接;我只能得到照片對象的ID和createdDate ....

我已經獲得我的客戶端的user_photos權限以獲取訪問令牌。而且我還使用Facebook的圖形資源管理器來查詢使用這個accessToken,我能夠得到照片網址...有人可以請幫忙指出我失蹤的東西嗎?謝謝你soo多

更新:我不知道是不是因爲: 「新的Facebook API v2.4改變了響應發送的方式。現在你需要在請求url中指定你想要的API的哪些字段(來自facebook graph api returns only name and id for some websites

+0

也許類似於此問題:https://lingohub.com/ blog/2015/12/workaround-for-broken-facebook-oauth-using-spring-social /? –

+1

如果您確實使用Graph API 2.4或更高版本,則您的懷疑可能是正確的。它也可以是貝蒂提到的,但我對這個SDK不太熟悉,不能依靠這個。 – corvuszero

回答

1

正如在上面的評論中提到的,Facebook的API的v2.4及更高版本要求你指定你的字段想在你的請求的參數fields的響應 - 很少的字段是默認返回,否則,通常只是名稱和ID,有時創建時間等

如果SDK你' e使用未在其自己的代碼或示例中說明,您可能只需手動將?fields=X,Y,Z添加到請求字段x,y,z請求字段