注目キーワード
  1. 技術
  2. 広告
  3. IDFA
  4. PHP
  5. WordPress

【PHP】Facebook GraphAPI を使って、AccessTokenを取得する方法

Facebook GraphAPI を使って、AccessTokenを取得する機会がありましたので、やり方をメモしておきます。

SDK(facebook/graph-sdk)インストール

AccessTokenを取得するには、facebook/graph-sdkを使います。
https://github.com/facebookarchive/php-graph-sdk

readmeに使い方が書いてありますが、composerでインストールを推奨しているため、手順に従って進めます。

$ vim composer.json

{
  "require": {
    "facebook/graph-sdk": "5.7.0"
  }
}

追記したらcomposer installをして、vendor以下に追加されたことを確認してインストール完了です。

facebookオブジェクトを生成

下記のように、facebookオブジェクトを生成します。

 $facebookObj = new \Facebook\Facebook([
            'app_id' => '11111111111111',
            'app_secret' => '11111111111111',
            'default_graph_version' => 'v2.10'
        ]);

app_id と app_secret については、facebookのdeveloperページでアプリ登録すると取得できるかと思いますので、そちらに記載された値を入力してください。

AccessTokenの取得

AccessTokenを取得します。

        $helper = $facebookObj->getRedirectLoginHelper();
        $accessToken = $helper->getAccessToken();

        if (!isset($accessToken)) {
            if ($helper->getError()) {
                $message = 'Error: ' . $helper->getError() . "\n";
                $message .= ' Error Code: ' . $helper->getErrorCode() . "\n";
                $message .= ' Error Reason: ' . $helper->getErrorReason() . "\n";
                $message .= ' Error Description: ' . $helper->getErrorDescription() . "\n";
                echo $message;
                exit;
            }
        }

        echo $accessToken;

上記のようにすることで、accesstokenを取得することができます。
errorの場合、エラーをこのようにキャッチすることができますので、ログに書き出すなど、適したやり方で処理を組むようにしてください。