Google Analytics PHP API (GAPI) - Получение количества просмотров страниц
Работаю над этим уже два дня и, похоже, ничего не добиваюсь.
Я использую PHP-класс GAPI Google analytics. Это текущий код, который у меня есть сейчас:
$ga->requestReportData("[UID]",array('day'),array('visits'), array("day"));
Что я хочу сделать, так это получить количество "просмотров страниц" за "последние 7 дней". Таким образом, вывод будет примерно таким:
<?php foreach($ga->getResults() as $result) { ?>
Date: <?php echo $result; ?>
Page Views: <?php echo $result->getPageviews(); ?>
<?php } ?>
Я новичок в API Google analytics, поэтому не знаю, с чего начать. Спасибо за любую помощь!
3 answers
Это должно помочь вам
<?php
require 'gapi.class.php';
$gaEmail = '[email protected]';
$gaPassword = 'your password';
$profileId = 'your profile id';
$dimensions = array('pagePath','country', 'region', 'city');
$metrics = array('visits');
$sortMetric=null;
$filter=null;
$startDate='2011-02-01';
$endDate='2011-02-28';
$startIndex=1;
$maxResults=10000;
$ga = new gapi($gaEmail, $gaPassword);
$ga->requestReportData($profileId, $dimensions, $metrics, $sortMetric, $filter, $startDate, $endDate, $startIndex, $maxResults);
$totalPageviews = $ga->getPageviews();
foreach ($ga->getResults() as $result) {
$visits = $result->getVists();
print $visits;
}
?>
Имейте в виду, чтобы отключить 2-шаговую проверку для учетной записи Google. Если вы этого не сделаете, это выдаст вам ошибку с ошибочным запросом, несмотря на действительность информации вашей учетной записи.
Мы хотели бы добавить в @ladiesman217, что мы можем создавать пароли для конкретных приложений, если у нас есть 2 этапа проверки.
Что касается GAPI, я создал класс, который даст много информации, но с использованием нескольких методов. Вы можете скачать класс здесь http://www.thetutlage.com/post=TUT217
<?php
error_reporting(0); // it is important as filtering tend to leave some unwanted errors
include_once( 'class.analytics.php' );
define('ga_email','your_analytics_email');
define('ga_password','your_analytics_password');
define('ga_profile_id','your_analytics_profile_id');
// Start date and end date is optional
// if not given it will get data for the current month
$start_date = '2012-05-28';
$end_date = '2012-06-27';
$init = new fetchAnalytics(ga_email,ga_password,ga_profile_id,$start_date,$end_date);
$trafficCount = $init->trafficCount();
$referralTraffic = $init->referralCount();
$trafficCountNum = $init->sourceCountNum();
$trafficCountPer = $init->sourceCountPer();
?>
Первый метод Подсчет трафика даст вам (Просмотры страниц, Посещения, Показатель отказов, Время, проведенное на сайте, Новое Посещения)
Второй метод Подсчет ссылок даст вам (URL-адрес ссылки и общее количество обращений с этого URL-адреса)
Третий метод Sourcecountnum предоставит вам такой источник трафика, как (Прямой трафик, Органический, Реферальный, Канал, Электронные письма и другие)
Последний метод Sourcecountper предоставит ту же информацию, что и 3-й, с одним отличием, здесь информация будет в процентах.
Надеюсь, это поможет, и, пожалуйста, дайте мне знать на случай каких-либо ошибок.
<?php
define('ga_email','you email');
define('ga_password','passworkd');
define('ga_profile_id','profile ID or View ID');
require 'gapi.class.php';
// pars to pass on Google Server Analytic Api
$start_date='2013-12-01';
$end_date='2013-12-31';
$ga = new gapi(ga_email,ga_password);
try {
$ga->requestReportData(ga_profile_id,
array('browser','browserVersion'),
array('pageviews','visits','visitors','visitBounceRate'),
$sort_metric=null, $filter=null,
$start_date,$end_date,
$start_index=1, $max_results=30);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
<table width='60%'>
<tr style="background-color:#00ff00;">
<th>Browser & Browser Version</th>
<th>Page Views</th>
<th>Visits</th>
<th>Visitors</th>
<th>Visit Bounce Rate</th>
</tr>
<?php
$i = 0;
foreach($ga->getResults() as $result):
//$ga->printfs($result);
if($i%2 == 0) $color = "#d3d3d3";
else $color = "#FFFFF";
?>
<tr style="background-color:<?php echo $color ?>">
<td><?php echo $result ?></td>
<td><?php echo $result->getPageviews() ?></td>
<td><?php echo $result->getVisits() ?></td>
<td><?php echo $result->getVisitors() ?></td>
<td><?php echo $result->getVisitBounceRate() ?></td>
</tr>
<?php
$i++;
endforeach
?>
</table>
<table>
<tr>
<th>Total Results</th>
<td><?php echo $ga->getTotalResults() ?></td>
</tr>
<tr>
<th>Total Page views</th>
<td><?php echo $ga->getPageviews() ?>
</tr>
<tr>
<th>Total Visits</th>
<td><?php echo $ga->getVisits() ?></td>
</tr>
<tr>
<th>Total Visitors</th>
<td><?php echo $ga->getVisitors() ?></td>
</tr>
<tr>
<th>Visit Bounce Rate</th>
<td><?php echo $ga->getVisitBounceRate() ?></td>
</tr>
<tr>
<th>Results Updated</th>
<td><?php echo $ga->getUpdated() ?></td>
</tr>
</table>