Tag Archives: Php

(Symfony)Chromeでエラー

GoogleChromeで見るとなぜか500エラー。。。

Safariも同様。

ちなみにSymfonyのバージョンは1.1.1。

こんなものが。
Changeset 11163

// skip if no acceptable content types or browsers
// if (isset($acceptableContentTypes[0]) && ‘text/xml’ != $acceptableContentTypes[0])
if (isset($acceptableContentTypes[0]) && (‘text/xml’ != $acceptableContentTypes[0] && ‘application/xml’ != $acceptableContentTypes[0]))
{
$this->setRequestFormat($this->getFormat($acceptableContentTypes[0]));
}

修正してみたらうまくいきました。

GoogleAnalyticsのAPIをPHPで使ってみる [トラッキングデータ取得編]

前回に引き続き、今回は実際のトラッキングデータを取得してみる。

⇒ライブラリはココ

サンプルのコードを元に書いてみました。

とりあえず、日別の訪問者数、PV数を取得してみる。

<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<?php
define('ga_email','***********');
define('ga_password','********');
define('ga_profile_id','********');

require 'gapi.class.php';

$ga = new gapi(ga_email,ga_password);

$ga->requestReportData(ga_profile_id,array('date'),array('pageviews','visits'), 'date');
?>
<table>
<tr>
  <th>DATE</th>
  <th>Pageviews</th>
  <th>Visits</th>
</tr>
<?php
foreach($ga->getResults() as $result):
?>
<tr>
  <td><?php echo $result ?></td>
  <td><?php echo $result->getPageviews() ?></td>
  <td><?php echo $result->getVisits() ?></td>
</tr>
<?php
endforeach
?>
</table>

<table>
<tr>
  <th>Total Results</th>
  <td><?php echo $ga->getTotalResults() ?></td>
</tr>
<tr>
  <th>Total Pageviews</th>
  <td><?php echo $ga->getPageviews() ?>
</tr>
<tr>
  <th>Total Visits</th>
  <td><?php echo $ga->getVisits() ?></td>
</tr>
<tr>
  <th>Results Updated</th>
  <td><?php echo $ga->getUpdated() ?></td>
</tr>
</table>
</body>
</html>

とりあえず、resultをprint_rしてみると、こんな感じ。

gapi Object
(
    [auth_token:private] => XXXXXXXXXXXXX
    [account_entries:private] => Array
        (
        )

    [account_root_parameters:private] => Array
        (
        )

    [report_aggregate_metrics:private] => Array
        (
            [pageviews] => 56230
            [visits] => 14619
        )

    [report_root_parameters:private] => Array
        (
            [updated] => 2010-08-18T01:48:03.913-07:00
            [generator] => Google Analytics
            [generatorVersion] => 1.0
            [totalResults] => 32
            [startIndex] => 1
            [itemsPerPage] => 30
            [profileId] => 17170169
            [webPropertyId] => XXXXXXXX
            [accountName] => XXXXXXXX
            [startDate] => 2010-07-18
            [endDate] => 2010-08-18
        )

    [results:private] => Array
        (
            [0] => gapiReportEntry Object
                (
                    [metrics:private] => Array
                        (
                            [pageviews] => 433
                            [visits] => 106
                        )

                    [dimensions:private] => Array
                        (
                            [date] => 20100814
                        )

                )

            [1] => gapiReportEntry Object
                (
                    [metrics:private] => Array
                        (
                            [pageviews] => 445
                            [visits] => 148
                        )

                    [dimensions:private] => Array
                        (
                            [date] => 20100808
                        )

                )

            [2] => gapiReportEntry Object
                (
                    [metrics:private] => Array
                        (
                            [pageviews] => 470
                            [visits] => 133
                        )

                    [dimensions:private] => Array
                        (
                            [date] => 20100718
                        )

                )
            (以下省略....)
        )
)

表示したい軸・指標はここにあるやつかな。
Dimensions & Metrics Reference

意外と簡単。

GoogleAnalyticsのAPIをPHPで使ってみる [アカウントデータ取得編]

使ったライブラリはこれ。

gapi-google-analytics-php-interface

サンプルがあったので使ってみました。

まずはアカウント情報の取得

<?php

define('ga_email','************');
define('ga_password','*********');

require 'gapi.class.php';

$ga = new gapi(ga_email,ga_password);

// アカウントデータを取得
$ga->requestAccountData();

foreach($ga->getResults() as $result)
{
  echo "プロファイルID:".$result->getProfileId()."<br />";
  echo "アカウントID:".$result->getAccountId()."<br />";
  echo "アカウント名:".$result->getAccountName()."<br />";
  echo "ウェブプロパティID:".$result->getWebPropertyId()."<br />";
  echo "タイトル:".$result->getTitle()."<br />";
}
?>

ちなみに結果データをprint_rしてみると以下のようなデータがとれた。

gapiAccountEntry Object (
  [properties:private] => Array ( 
    [accountId] => XXXXXX
    [accountName] => XXXXXX
    [profileId] => XXXXXX
    [webPropertyId] => XXXXXX
    [currency] => USD
    [timezone] => Asia/Tokyo
    [title] => XXXXXX
    [updated] => 2010-03-09T21:00:30.453-08:00
  )
) 

次は実際のデータを取ってみよう。

PHPのサーバ環境変数

PHPのサーバ環境変数一覧

$_SERVER['GATEWAY_INTERFACE']	//CGIのバージョン
$_SERVER['SERVER_NAME']	//サーバ名
$_SERVER['SERVER_SOFTWARE']	//サーバID
$_SERVER['SERVER_PROTOCOL']	//プロトコル名・リビジョン(HTTP/1.0)
$_SERVER['REQUEST_METHOD']	//リクエストの種類(HEAD・POST・GET・PUT等)
$_SERVER['QUERY_STRING']	//クエリーを格納
$_SERVER['DOCUMENT_ROOT']	//サーバのルートディレクトリ
$_SERVER['HTTP_ACCEPT']	//Acceptヘッダの内容
$_SERVER['HTTP_ACCEPT_CHARASET']	//Accept-Charasetヘッダの内容(eucなど)
$_SERVER['HTTP_ACCEPT_ENCODING']	//Accept-Charasetヘッダの内容(gzipなど)
$_SERVER['HTTP_ACCEPT_LANGUAGE']	//Accept-Languageヘッダの内容(jpなど)
$_SERVER['HTTP_CONNECTION']	//Connectionヘッダの内容(Keep-Aliveなど)
$_SERVER['HTTP_HOST']	//Hostヘッダの内容
$_SERVER['HTTP_REFERER']	//現在のページへのリンク元のURLを格納。
$_SERVER['HTTP_USER_AGENT']	//User_Agentヘッダの内容
$_SERVER['REMOTE_ADDR']	//クライアントのIPアドレス
$_SERVER['REMOTE_PORT']	//クライアントマシンで使用されているポート番号
$_SERVER['SCRIPT_FILENAME']	//実行中のスクリプトの絶対パス
$_SERVER['SERVER_PORT']	//サーバで使用されているポート番号
$_SERVER['SERVER_SIGNATURE']	//サーバのバージョン・ヴァーチャルホスト名
$_SERVER['PATH_TRANSLATED']	//実行中のスクリプトの物理パス
$_SERVER['SCRIPT_NAME']	//実行中のスクリプトのパス
$_SERVER['REQUEST_URI']	//指定されたURI
$_SERVER['PHP_SELF']	//実行中のスクリプトのドキュメントルートに対する相対パス