■
CakePHPでCheckdomain Parking - standby.checkdomain.deを使ってみた。環境は XP SP2 + IIS + PHP 5.2.5 + CakePHP 1.2.0.6311。
/cake/lib/socket.php 内で fsockopen() を使いGoogleと接続するが、SSLを使うため、php.ini に extension=php_openssl.dll を追加する。自分の環境では、PHPフォルダの libeay32.dll,ssleay32.dllを%SYSTEM%\system32\へコピーする必要もあった。この時点で、コマンドプロンプトからiisresetを実行しておく。
/app/model/datasources/ に google_analytics_source.php をコピーし、/app/config/database.php の DATABASE_CONFIGクラス内に データ取得用の Google アカウント情報をセットする。
class DATABASE_CONFIG { public $default = array(...); public $analytics = array( 'datasource' => 'google_analytics', 'user' => '****@gmail.com', 'password' => '*****', ); }
上記サイトの AnalyticsController をそのまま拝借してファイルを作り、プロファイルの指定のみ変更するとデータは取得できた。
Google Analyticsのエクスポートの機能を使いデータを取得しているので、$this->Analytics->report()への引数はエクスポートのURLを参考にすればよい。ただし、'report'の指定には末尾の'Report'は不要(強制的に末尾に'Report'がつく)。ドリルダウンのデータを取得する場合、は次のようにする。
$report = $this->Analytics->report(array( 'profile' => '***', 'report' => 'ContentDrilldown', 'query' => array( 'd1' => '/foo/bar/' ), ));