2012-02-07 109 views
3

我需要使用PHP SDK(Facebook)获取专辑封面照片。 我尝试:如何获取专辑封面照片

https://graph.facebook.com/[ALBUM_ID]/picture?type=album,但我得到一个默认图像...例如...获取用户的个人资料图片https ://graph.facebook.com/ [USER_ID]/picture?type = square

有人可以告诉我正确的方法来获取专辑封面照片。

谢谢。

回答

4

您可以使用FQL,这是我的首选方法,并提供了很大的灵活性。此代码示例应该是你所需要的:

$album_id = '6464156415616'; 
    try{ 
     $fql = 'SELECT pid, src_small FROM photo WHERE pid in (SELECT cover_pid FROM album WHERE aid='.$album_id.' AND owner=me())'; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
      //,'return_ssl_resources'=>1 //set this option if you want the source to come from https 
     ); 
     $fqlResult = $facebook->api($param); 
     $fqlResult['type'] = $uploadVal['type']; 

     //fetch values 
     $src_small = $fqlResult['src_small'];     

    } catch(Exception $o){ 
     print_r($o); 
    } 

你可以找到一个参考这里所有的FQL表:http://developers.facebook.com/docs/reference/fql/

0

专辑的封面照片是专辑的第一个上传的图片。如果您在相册中没有任何图像,封面图像将成为问号。

2

为封面图片的网址是https://graph.facebook.com/[album_id]?fields=picture

的FQL方法,别人解释是单向的。我会做这种方式:

$albumCover = $facebook->api("/[album_id]?fields=picture", "get"); 
echo "<img src='".$albumCover['picture']."' />"; 
+0

它总是返回我的默认图像,而不是封面照片,什么东西在其间?:“URL”改为:“http://static.ak.fbcdn.net /rsrc.php/v1/yC/r/gtEJuZGrBLG.jpg“ – 2013-05-07 06:14:09

+0

$ fb-> api('/'。$ album_id。'/ picture?type = album'); – foxybagga 2013-07-20 19:19:11