最終更新日:
公開日:
レシピ
Facebook PHP向けSDK
GraphAPIを使ってFacebookページのデータを取得
PHP向けSDKを使い、GraphAPIを呼び出してFacebookページの様々な情報を取得する方法を解説します。
この記事のポイント
- Facebookページの様々なデータを取得する
目次
GraphAPI Page
今回はSDKからGraphAPIの「Page」を呼び出し、Facebookページに関する様々なデータを取得していきます。
PHP向けSDKの基本的な使い方については、「Facebookページの基本データを取得」をご覧ください。
Fieldsパラメータを使用
今回は次のコードを使用します。
コード例
<?php
require_once 'php-graph-sdk-master/src/Facebook/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'アプリID',
'app_secret' => 'App Secret',
'default_graph_version' => 'v2.7',
'default_access_token' => 'アプリ用アクセストークン'
]);
try {
$res = $fb->get('/graycodepage?fields=name,about,category');
} catch( Facebook\Exceptions\FacebookSDKException $e) {
var_dump($e);
exit();
}
var_dump($res->getDecodedBody());
SDKクラスのget関数にFacebookページIDを指定すると基本データであるIDと名前を取得することができます。
しかし、今回はその後ろに「fields」パラメータをつけています。
このパラメータで取得したデータを指定することができます。
上記のコードでは名前に加えて、概要(about)とカテゴリー(category)を取得しています。
指定可能なパラメータは公式リファレンスの「項目」から確認できます。
Page – Facebook GraphAPIリファレンス(英語)
取得できないデータを指定した場合は値が空となります。
Note
IDはデフォルトで含まれているため、あえて指定する必要はありません。
様々なデータを取得
「fields」パラメータを変更して、その他のデータにアクセスしてみます。
先ほどのコードでは名前、概要、カテゴリを取得しましたが、加えて「ユニークURL」「サイトURL」「カバー写真」のデータを取得するよう変更していきます。
コード例
$fb->get('/graycodepage?fields=name,about,category,username,website,cover');
カバー写真については配列になっており、ソースの他に画像IDなども取得できました。
今回はGraphAPIの「Page」を使って基本データを取得しましたが、「Page」以外にも投稿したタイムライン(フィード)を取得する「/page/feed」、Likeした人のリストを取得する「/page/likes」、アルバムの写真を取得する「/page/albums」などが用意されており、必要に応じてこれらのデータにアクセスすることが可能です。