2011/7/13

Facebookのアルバムを取り出して、アルバムへリンクする

結構、簡単にいけるだろうと思っていたら、ちょっと躓いたのでメモメモ。FacebookのアルバムをWEBサイトでハンドルするのに、Graph APIで取得して普通にリンク貼ればいいだろうと思っていたのですが、リンクをちょっとゴニョゴニョしないといけないことに気がつきまして。

https://graph.facebook.com/experience.transporters/albums

みたいにしてデータ取得すると、それぞれのアルバムのリンクが

http://graph.facebook.com/album.php?fbid=231942786831780&id=231942680165124&aid=75113

みたいに渡されて、これリンク先としては使えないんです。

http://www.facebook.com/media/set/?set=a.231942786831780.75113.231942680165124

実際はこういう形式のURLなんでゴニョゴニョが必要。

foreach ($pages['data'] as $page) {
    if (($page['name'] != 'Wall Photos') && ($page['name'] != 'Profile Pictures')) {
        $id = $page['id'];
        $name = $page['name'];
        $url = $page['link'];
        $url = parse_url($url);
        $query = $url['query'];
        parse_str($query,$arr);
        $aid = $arr['aid'];
        $mid = $arr['id'];
        echo '<p>'.$name.'</p><p><a href="http://www.facebook.com/media/set?set=a.'.$id.'.'.$aid.'.'.$mid.'" target="_blank"><img src="https://graph.facebook.com/'.$id.'/picture?type=album"></a></p>';
    }
}

parse_urlとかparse_strとか始めて使いました。大体、URLパラメータって$_GETで使ったことしかなく。もう少しスマートなやり方がある気もするんですけど、まあできたからとりあえずよしとする。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram