-3

私は初心者で、なんとか物事を成し遂げることができましたが、この問題は私の手の届かないところにあります。

Facebookに関連する問題

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

上記のリンクは、Facebook ページのアルバムのリストを表示します。すべての「id」を抽出してドロップダウンリストに入れたい。例えば: <option value="123456789">123456789</option>


このセクションは、混乱を取り除くために@Mathieuによる応答後に追加されました。

質問:ドロップダウン リストに使用できるアルバム ID だけを抽出する方法を教えてください。「preg_match」を試しましたが、分離してアルバム ID だけを取得することができません。コンテンツ全体を1行または改行で取得しており、「created_time」部分も含まれています。


アルバム「id」を直接入れると、(Facebook ページの) アルバムのすべての写真を表示できる PHP スクリプトが既にあります。

私の「計画 1」は、訪問者が私の Web サイトに来るたびに、私のページがアルバム「id」のリストを取得し、写真を表示できるようにすることです。

私の「計画 2」は、ページが cron を使用してアルバム「id」のリストを 1 日 1 回取得し、データベースに保存できるようにすることです。これにより、Facebook への複数の呼び出しを防ぐことができます。

上記のリンクからアルバム「id」のリストを取得できるので、AccessToken や Secret などは必要ないと思います。

4

1 に答える 1

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 />";

?>
于 2012-08-11T01:28:37.660 に答える