用javascript api显示facebook上的照片?

Cla*_*son 3 javascript facebook facebook-graph-api facebook-javascript-sdk

我想用javascript api在我的网页上显示我的一张脸花相册中的照片.我可以使用下面的代码阅读相册名称,但是如何才能显示其中一张专辑的照片?

FB.api('/myfacebookid/albums', function(response) {

    var ul = document.getElementById('albums');
    for (var i=0, l=response.data.length; i<l; i++) {
      var
        album = response.data[i],
        li = document.createElement('li'),
        a = document.createElement('a');
      a.innerHTML = album.name;
      a.href = album.link;
      li.appendChild(a);
      ul.appendChild(li);
    }
  });
Run Code Online (Sandbox Code Playgroud)

感谢任何投入,谢谢!

好的,现在我有了这个代码:

    FB.api('/142461229141170/albums?fields=id,name', function(response) {
     if (response && response.data && response.data.length){
         console.log(response)

  for (var i=0; i<response.data.length; i++) {
    var album = response.data[i];

    if (album.name == 'Profile Pictures'){

      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;
            $('#foton').append(image);
          }
        }
      });

      break;
    }
  }
   }
});
Run Code Online (Sandbox Code Playgroud)

我想我做错了什么..仍然!这是显示Profile Pictures相册中的照片,但我必须将其更改为$('#foton').append(image); .如果我查看日志,它会获得4个对象.

如果我换到另一张专辑,例如 - Manmade Photos或Cover Photos,它就会停止工作.

此外,如果我将userId从上面(上面是一个PAGE id)更改为我的个人脸书ID,那么它也会停止工作.

我真的想了解它是如何工作的,因为我也希望在此之后获得feed和其他一些东西,我猜它的工作方式与此相同?非常感谢,伙计们!

Jui*_*ter 8

这可以通过向photos连接发出Graph API请求来完成album:

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

      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);
          }
        }
      });

      break;
    }
  }
});
Run Code Online (Sandbox Code Playgroud)