最終更新日:
公開日:
レシピ
Facebook PHP向けSDK
Facebookページの基本データを取得
PHP向けSDKを使い、Facebookページの基本的な情報を取得する方法を解説します。
この記事のポイント
- SDKを使うための必要情報を取得する
- SDKを使ってFacebookページの基本データを取得する
- 基本的なSDK使用方法を確認
目次
SDKを使えばGraphAPIにアクセスできる
SDKと必要な情報が揃っていれば、GraphAPIを使って様々な情報を取得することが可能です。
今回はSDKを使って、最も基本的な部分である「Facebookページ」の基本データを取得してみます。
PHP向けSDKの使用準備はこれから!という方は、別記事「FacebookのPHP向けSDKで何ができるの?使用するための準備」の手順に従ってSDKをインストールしてください。
アプリの必要情報を取得する
まずはFacebookDeveloperのアプリ管理ページを開いて、GraphAPIの呼び出しに必要な次の4つの情報を確認します。
FacebookDeveloper
- APIバージョン
- アプリID
- App Secret
- アプリ用アクセストークン
4つ目のアクセストークン以外は、アプリのダッシュボードから確認できます。
アクセストークンはツール&サポートページの「Access Token Tools」から確認できます。該当するアプリの「App Token」がアプリ用アクセストークンです。
Note
ここで「アプリ?」と思われた方もいるかもしれません。
Facebookでは、GraphAPIを呼び出すにはプラットフォームに関わらず「アプリ」として登録する必要があります。
ただし、Webサイト・iOSアプリ・Androidアプリなど異なるプラットフォームを1つのアプリに登録することが可能です。
GraphAPIにアクセスするPHPファイルを作成する
いよいよPHPのコードを書いていきます。
今回は「test_site」フォルダの直下にファイル名を「index.php」として作成し、下図の階層で配置します。
パスは必要に応じて置き換えてください。
index.phpに、次のコードを書いてください。
index.phpのコード例
<?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');
} catch( Facebook\Exceptions\FacebookSDKException $e) {
var_dump($e);
exit();
}
var_dump($res->getDecodedBody());
それでは、コードの内容について1つずつ見て確認していきましょう。
SDKのファイルを読み込む
まずはrequire_once関数を使い、FacebookSDKファイルの読み込みを行います。
「Facebook」フォルダ内の「autoload.php」を読み込めばOKです。
SDKのクラスを作成
先ほど事前に調べたアプリの情報を使って、Facebookクラスを初期化します。
「アプリID」「App Secret」「バージョン」「アクセストークン」をぞれ置き換えてください。
ここで作成したFacebookクラスのインスタンス「$fb」を使って、GraphAPIへのアクセスを行います。
GraphAPIの呼び出し
「$fb->get(〜)」では、「Page」というGraphAPIを使ってFacebookページの基本データを取得しています。
get関数の中ではFacebookページの「ID」か「ユニークURL」を指定してください。
FacebookページのIDは、ページ管理画面の「基本データ」で調べることができます。
FacebookページのユニークURLは、ページを開くと分かります。
「https://www.facebook.com/」の後ろに続く部分がユニークURLです。
例えば、GrayCodeのFacebookページのユニークURLであれば下図の部分が該当します。
GraphAPIを呼び出したときのエラーに対応するため、get関数はtry〜catch文で囲んでいます。
取得結果を出力
最後にvar_dump関数で結果を出力していますが、その中でgetDecodedBody関数を呼び出しています。
この関数は、取得結果のオブジェクトから、基本データ部分だけを抽出して配列形式で渡してくれます。
GrayCodeのFacebookページについて取得した結果を出力すると、下図のようになります。
以上、SDKの最も基本的な使い方でした。
次回は公式リファレンスを確認しながら、その他の様々な情報を取得していきます。