Как получить фотографии выбранного альбома в Facebook PHP SDK - PullRequest
0 голосов
/ 14 января 2012

Показывает названия альбомов в виде ссылок.При выборе конкретной ссылки пользователь перенаправляется в файл albumPhotos.php.Что мне нужно, это поместить нужный код в albumPhotos.php, чтобы появились фотографии определенного альбома.

$albums = $facebook->api('/me/albums');
Foreach($albums['data'] as $album) 
{
print ('<a href= "albumPhotos.php">'.$album['name'].'</a>'.'</br>' ) ;
}

Это текущий код в apbumPhotos.php.В то время он представляет все фотографии пользователя.

$albums = $facebook->api('/me/albums');
foreach($albums['data'] as $album)
  {

    $photos = $facebook->api("/{$album['id']}/photos");
    foreach($photos['data'] as $photo)
    {
            echo "<img src='{$photo['source']}' />", "<br />";
    }
 } 

1 Ответ

4 голосов
/ 15 января 2012

Вам нужно передать какой единственный альбом вы хотите на страницу apbumPhotos.php. В противном случае ваш код не знает, по какой ссылке на альбом щелкнул пользователь, и он просто просматривает все альбомы пользователя. Логика довольно проста.

Используйте строку запроса для передачи album_id в качестве параметра $ _GET в ссылке, например:

$albums = $facebook->api('/me/albums');
foreach($albums['data'] as $album)  {
  print ('<a href="albumPhotos.php?album_id='.$album['id'].'">'.$album['name'].'</a>'.'</br>' ) ;
}

Затем, получите параметр album_id в apbumPhotos.php и используйте его (вместо того, чтобы снова перебирать ВСЕ альбомы, что он делает сейчас):

$album_id = $_GET['album_id']; // get the album_id passed in the URL
$photos = $facebook->api("/{$album_id}/photos"); // just get that one album
foreach($photos['data'] as $photo)
{
        echo "<img src='{$photo['source']}' />", "<br />";
}
...