2012-08-10 89 views
-3

我是新手,雖然我設法完成任務,但這個問題是我無法實現的。Facebook專輯ID

有關Facebook的

https://graph.facebook.com/211255505590483/albums?fields=id

上面的鏈接問題顯示一個Facebook頁面的相冊列表。我想提取所有「id」並將它們放在下拉列表中。 例如: - <option value="123456789">123456789</option>


本節通過@Mathieu響應後添加刪除困惑:

問:我需要幫助,只是提取,我可以使用下拉列表中選擇相冊的ID。我嘗試過「preg_match」,但我無法隔離並獲取相冊ID。我將整個內容作爲單行或換行符來獲取,並且還包括「created_time」部分。


我已經有一個PHP腳本,它可以顯示(一個Facebook頁面的)一張專輯的所有照片時,我直接就把專輯「ID」在裏面。

我的'計劃一'是每當訪問者訪問我的網站時,我的頁面將獲取專輯「ID」列表並且可以查看照片。

我的'計劃二'是頁面可以使用cron每天一次獲取專輯「id」列表並存儲在數據庫中,這將防止多次調用Facebook。

我覺得既然專輯「ID」的列表,可通過上面的鏈接,不會有任何需要的accessToken,祕密等

+0

你的問題是什麼? – 2012-08-10 12:05:08

+0

我已經提到過了,我再說一遍:我想提取所有「id」並將它們放在下拉列表中。 例如: [code] [/ code] – Vinayy 2012-08-10 12:48:59

+0

@Vinayy我們並不是在討厭,但這也不是問題。你似乎有每個信息都得到的ID和建立一個下拉列表。你有一個我們可以幫助你的具體問題嗎? – Tchoupi 2012-08-10 13:12:41

回答

1

完成

這個腳本只能爲Facebook頁面顯示所有相冊。您需要一個單獨的腳本來顯示任何特定專輯的所有照片。

編輯:我已經改進了解決方案。該腳本現在在下拉框中提供相冊ID,該相冊名稱和相冊創建日期。

<?php 

$facebook_page_owner = "211255505590483"; 

$string = file_get_contents('https://graph.facebook.com/'.$facebook_page_owner.'/albums?fields=id,name,cover_photo'); 
$jdata = json_decode($string); 
$albumcount = count($jdata->data); 

echo "There are ".$albumcount." Albums in this Facebook page.<br /><br />"; 

echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">"; 

echo "<select id=\"facebookalbumid\" name=\"facebookalbumid\">"; 

    $facebookalbumid = $_POST['facebookalbumid']; 
    $i=0; 
    while($i<=($albumcount-1)) 
     { 
     $selected = ($jdata->data[$i]->id == $facebookalbumid) ? "selected='selected'" : ""; 
      if ($facebookalbumid == "") { 
      $facebookalbumid = $jdata->data[$i]->id; 
      } 
     echo "<option value=\"".$jdata->data[$i]->id."\" $selected>".$jdata->data[$i]->id."</option>"; 
     $i++; 
    } 

echo "</select>"; 

echo " <input type=\"submit\" value=\"View Album\"></form><br />"; 


$string2 = file_get_contents('https://graph.facebook.com/fql?q=SELECT%20name,%20created%20FROM%20album%20WHERE%20owner='.$facebook_page_owner.'%20and%20object_id='.$facebookalbumid.''); 
$adata = json_decode($string2); 
$facebookalbumname = $adata->data[0]->name; 
$albumdate = $adata->data[0]->created; 
$facebookalbumdate = date("d-M-Y", $albumdate); 

echo $facebookalbumname."<br />"; 
echo $facebookalbumdate."<br />"; 

?>