如何通过facebook graph api从相册中获取大图片

时间:2012-09-02 09:33:50

标签: javascript facebook facebook-graph-api

我目前正在使用以下代码检索用户个人资料中的所有照片

FB.api('/me/albums?fields=id,name', function(response) {
  //console.log(response.data.length);
  for (var i = 0; i < response.data.length; i++) {
    var album = response.data[i];

    FB.api('/' + album.id + '/photos', function(photos) {
      if (photos && photos.data && photos.data.length) {
        for (var j = 0; j < photos.data.length; j++) {
          var photo = photos.data[j];
          // photo.picture contain the link to picture
          var image = document.createElement('img');
          image.src = photo.picture;
          document.body.appendChild(image);
          image.className = "border";

          image.onclick = function() {
            //this.parentNode.removeChild(this);
            document.getElementById(info.id).src = this.src;
            document.getElementById(info.id).style.width = "220px";
            document.getElementById(info.id).style.height = "126px";
          };
        }
      }
    });

  }
});

但是,它返回的照片质量很差,基本上就像缩略图。如何从相册中检索更大的照片。

一般来说,对于个人资料图片,我使用?type = large,它会返回一个不错的个人资料图片

但是对于来自相册的照片,type = large不起作用 还有一种方法可以在我指定照片网址时从Facebook获取zip格式的照片,因为我希望用户能够下载照片。

1 个答案:

答案 0 :(得分:3)

您需要更改:

image.src = photo.picture;

为:

image.src = photo.source;

源成员是指向完整照片的链接,而不是图片成员提供的缩略图链接。

参考链接: https://developers.facebook.com/docs/reference/api/photo/