[み]Facebookページのアルバムの写真をPHPで取得する方法

FacebookのAPIの使い方がいまいちわかっていないみはら(@masashi_385)です。やりたいことは、とあるユーザーの写真を表示するサイトをつくりたいんです。が、たぶんアクセストークンのところでつまづいてます。そんなのカンタンだよ!っいう方、いらっしゃいましたらTwitterでも、Facebookででもかまいませんのでどうかおしえてください。

で、ユーザーの写真はうまく取得できなかったんですが、Facebookページの写真だったら、あっさり取得できました。Facebookページの場合、全体に公開しているからうまくいったんでしょうね。ということで、さっそくコードです。今回のコードは、山形美人塾のタイムラインの写真を表示します。

<?php
$album_id = '251272561576865'; //アルバムID
$thumb_size_set = 3; //サムネイルサイズ
$limit = 0; //枚数

$url = "http://graph.facebook.com/".$album_id."/photos/?limit=".$limit;
$json = file_get_contents($url);
$data_array = json_decode($json, TRUE);

if(!empty($data_array["data"])){
    foreach($data_array["data"] as $values){
        $thumb_size_count = count($values["images"]);
        for($i=$thumb_size_set; $i > 0; $i--){
            if($thumb_size_count > $i){
                $thumb_size = $thumb_size_count - $i;
                break;
            }
        }

        $name = $values["name"];
        $link = $values["link"];
        $source = $values["images"][$thumb_size]["source"];
        $width = $values["images"][$thumb_size]["width"];
        $height = $height["images"][$thumb_size]["height"];

        echo '
        <div class="pic"><a href="'
.$link.'"><img src="'.$source.'" width="'.$width.'" height="'.$height.'" alt="'.$name.'" /></a><br />
        <p><a href="'
.$link.'">'.$name.'</a></div>';
    }
}
?>

オプションとしては、

  • サムネイルサイズの変更
  • 表示枚数の変更(デフォルトは0。25枚表示される)

ができます。

jQuery Masonryとかと組み合わせて使ったらよさそうですよね。みはらはやってみたら見事に失敗しましたけど…

シェアありがとうございます

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

commentYour Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

checkboxみはら.comはエックスサーバーです

editNEW エントリー

PAGE TOP arrowup