inexio(アイネクシオ)

私たちはネットワークから新しいアイデアを創出します

Facebookの写真一覧取得

      2015/04/10

Facebookは利用していますかね?
個人的にはメッキリその利用も閲覧も減りましたが、当然熱心に利用しているユーザーもいるわけで、友人から【Facebookページに掲載した写真の一覧を別のサイトに掲載したい】と相談を受けました。
アルバムの一覧を表示して、Facebookの写真へリンクされる形が良いということです。

仕組みは準備されており、Facebook Developers で詳しくは調べられるのですが、今回は仕様を見るような面倒を避けてさらっと片付けてみます。友人のライトな相談なのでライトに片付けます。

条件

  • Facebookページに掲載したアルバムの一覧取得
  • 写真データはFacebookへリンク
  • さらっと片付ける

FacebookページのIDを取得

facebook Graph API

アイネクシオを例として、FacebookページのIDを取得します。
FacebookページのURL最後の部分(inexio.jp)を覚えておきます。
そしてGraphAPI用URLの最後(●●●)を置き換えてアクセスすると文字が出力されたページが表示されます。
画像の赤線部分(324648520908812)がIDとなります。

https://www.facebook.com/inexio.jp
↓
http://graph.facebook.com/●●●
↓
http://graph.facebook.com/inexio.jp

PHPスクリプト

さらっと片付ける代名詞、PHPの出番です。
データを取得してJSONに変換し、出力することにします。
ソースコードは以下のとおり。

$id = '324648520908812';
$fburl = 'https://graph.facebook.com/' . $id . '/albums?';
$json = file_get_contents( $fburl );
$json = json_decode( $json );
foreach ( $json->data as $key => $arr ) {
     // タイプをとりあえずノーマルだけに絞って
     if ( !preg_match( "/^(normal)$/u", $arr->type ) continue;
     echo '<div><a href="' . $arr->link . '">' . $arr->name . '</a></div>';
}

 - PHP, Webサービス ,