MauticのデータをMautic外で扱いたい時、Mauticが持つREST APIをコールすることができます。そしてREST APIの呼び出し方法については、公式のドキュメントに「PHPのライブラリがあるからそれを使ってください」と書かれています。
ということで何回かに分けて、「Mautic API Library」を使ってMauticのREST APIを利用する方法をご紹介します。
ライブラリのインストール
まずはライブラリをインストールします。
composerを使って手に入れることが可能ですので、作業ディレクトリに移動してから以下のコマンドでインストールします。
$ cd /PATH/TO/WORKSPACE $ composer require mautic/api-library
実行すると、以下のようにcomposerによるインストールが始まります。
Using version ^2.1 for mautic/api-library ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) - Installing psr/log (1.0.2) Downloading: 100% - Installing mautic/api-library (2.1.1) Downloading: 100% Writing lock file Generating autoload files
MauticでAPIクレデンシャルを作成する
作成すると、Client KeyとClient Secret Keyが生成されますので、控えておきましょう。
oAuth2認証を実施する
それでは早速APIへの認証を始めます。
サンプルコード:開発ドキュメントのコードを参考に、以下のようなファイルを作成します。($settings
の値は自分の値に変更してください。)
index.php
<?php // Bootup the Composer autoloader include __DIR__ . '/vendor/autoload.php'; use Mautic\Auth\ApiAuth; // ApiAuth::initiate will accept an array of OAuth settings $settings = array( 'baseUrl' => 'https://YOUR_MAUTIC_URL', 'version' => 'OAuth2', 'clientKey' => 'YOUR_MAUTIC_CLIENT_KEY', 'clientSecret' => 'YOUR_MAUTIC_CLIENT_SECRET', 'callback' => 'http://YOUR_WEBSITE_URL' ); session_start(); // Initiate the auth object $auth = ApiAuth::initiate($settings); if ($auth->validateAccessToken()) { if ($auth->accessTokenUpdated()) { $accessTokenData = $auth->getAccessTokenData(); foreach($accessTokenData as $key => $value ) { echo "$key: $value<br/>"; } } }
index.phpを実行する
あとは先程作成したファイルを実行すればOKです。
ブラウザからアクセスすると、Mauticの認証画面へリダイレクトされます。
許可をクリックすると、上で作成したコードの$accessTokenData
にアクセストークンなどのデータを含めた状態でコールバックURLにアクセスします。
今回はここまで。
次回からはこのアクセストークンの情報を使って実際にデータの取得などを行ってみます。