3

我已经能够使用以下方法检索专辑列表:

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 包含正确数量的专辑,就像我的 Facebook 帐户中一样,并且专辑 ID 匹配。但是,Profile Pictures 相册中的 profilePhotos 的 Photo 对象包含空图像和链接;我只能获取照片对象的 ID 和 createdDate....

我已在客户端获得 user_photos 权限以获取访问令牌。而且我还使用 Facebook 的图形资源管理器使用此 accessToken 进行查询,并且我能够获取照片网址......有人可以帮忙指出我错过了什么吗?非常感谢

更新:我想知道是不是因为:“新的 Facebook API v2.4 改变了发送响应的方式。现在您需要在请求 url 中指定您希望 API 返回哪些字段,以便 /me 变为 /me? fields=email,name,etc...”(来自facebook graph api 仅返回某些网站的名称和 ID

4

1 回答 1

1

正如上面评论中提到的,Facebook 的 API v2.4 及更高版本要求您在fields请求的参数中指定响应中所需的字段 - 默认情况下返回的字段很少,通常只是名称和 ID,有时创建时间等

如果您使用的 SDK 在其自己的代码或示例中没有考虑到这一点,您可能只是手动添加?fields=X,Y,Z到请求字段 x、y、z 的调用中

于 2015-12-11T00:49:24.270 回答