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请求字段