2012-02-20 91 views
3

我有這段代碼可以從特定相冊中獲取照片,但是我想請求所有相冊,獲取其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,等他們做的工作在每一個他們自己的協議,通過打印$相冊和$ list_pictures但我試圖彌合他們之間的差距,使專輯告訴列表圖片每個album_id可以訪問。我這樣做是爲了不打算進入手寫代碼的客戶。

謝謝!

+0

這個問題也題爲:「事情的Facebook可能不希望你做......」 – hackartist 2012-02-20 20:43:57

回答

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); 
+0

這可能是它,但我不知道在哪裏把它放在我的代碼。 :/我覺得我可能會有點過度。 – 2012-02-20 20:03:09

+0

你想要達到什麼目的?獲取圖片網址或者您需要按專輯分組? – 2012-02-20 20:05:49

+0

我想獲取按照相冊聚集的照片(圖片網址)。 我試着把你建議的代碼放在哪裏,我認爲它在代碼中發佈的問題,但我沒有工作。 – 2012-02-20 20:08:52

0

爲什麼不能循環播放$ albums數組?

僞代碼:

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

嗯,我對於新手」開始。 :) 因此,我把代碼放在$ albums = $ facebook - > ...後面,然後在Dreamweaver中出現語法錯誤。我在代碼中移動它,但仍然無法工作。當我在服務器上測試它時,它顯示一個空白屏幕。 :/ – 2012-02-20 19:46:49

+0

@OUHSDWebmaster它只是僞代碼,也就是說,它實際上不應該是語法正確的。看到這裏http://php.net/manual/en/control-structures.foreach.php更多信息和學習:) – 2012-02-20 19:49:12

相關問題