PHPプログラミング

最終更新日:
公開日:

レシピ

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」などが用意されており、必要に応じてこれらのデータにアクセスすることが可能です。