从所有相册中获取所有照片

时间:2012-02-20 19:19:08

标签: php facebook facebook-graph-api photos

我有这个代码来从特定的相册中获取照片,但是我想要询问所有相册,获取他们的ID以及每个id列表中的所有照片。

<?php 
 require 'facebook/src/facebook.php';
  $appId = '[app_id]';
  $secret = '[app_secret]';
  $access_token = '[access_token]';
  $facebook = new Facebook(array('appId' => $appId, 'secret' => $secret, ));
  $facebook->setAccessToken($access_token);



$albums = $facebook->api('/me/albums?fields=name,count'); 
print_r ($albums);


$album_ID = "309608592385363"; //album ID
$list_pictures = $facebook->api('/'.$album_ID.'/photos', array('access_token' => $access_token));
print_r ($list_pictures);



?>

请记住,我删除了变量,例如我的应用程序ID等。他们通过打印$ albums和$ list_pictures自行完成各项工作,但我正在尝试弥合它们之间的差距,以便相册告诉每个列表图片album_id访问。我正在为一个不打算进行手动编码的客户这样做。

谢谢!

2 个答案:

答案 0 :(得分:8)

  $albums = $facebook->api('/me/albums?fields=id'); 
  $pictures = array();
  foreach ($albums['data'] as $album) {
    $pics = $facebook->api('/'.$album['id'].'/photos?fields=source,picture');
    $pictures[$album['id']] = $pics['data'];
  }

  //display the pictures url
  foreach ($pictures as $album) {
    //Inside each album
    foreach ($album as $image) {
      $output .= $image['source'] . '<br />';
    }
  }
  exit($output);

答案 1 :(得分:0)

为什么你不能遍历$ albums数组呢?

伪代码:

foreach $album in $albums
{
  $list_pictures += $facebook->api(...);
}