我试图从我的Google Analytics帐户获取网页浏览量和访问次数,所以我在我的localhost上设置了这样的示例:https://code.google.com/p/gapi-google-analytics-php-interface/,但不知何故它没有返回任何内容......它总是失败。
这是我的代码(有意省略密码和电子邮件):
<?php
require 'gapi.class.php';
$gaEmail = 'email';
$gaPassword = 'pass';
$profileId = 'UA-37213064-1';
$dimensions = array('pagePath','country', 'region', 'city');
$metrics = array('visits');
$sortMetric=null;
$filter=null;
$startDate='2011-02-01';
$endDate='2015-01-30';
$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;
}
?>
总是在这里失败:
$ga = new gapi($gaEmail, $gaPassword);
错误:
PHP Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to authenticate user. Error: "Error=BadAuthentication
Url=https://www.google.com/accounts/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbttRRxx9DCBil669sL7kLRdff3nkCIN2ZZVwbU8erUozRAS9AUbn2wk7Rzjcotu7d3Hb7t3ihTxae_QFryWhZfF7uDfZDAL8GfF0w8CY8IopMZs9FEsmlkMlXczOKJ3QKLtEBGtPwCrjW69cI5U7NDe_WiPTWIZhXhf3znQjRU8TMrsNB6NNDMA_5zCwCMtTBYNB-tukpyRoFd3YS2HZfh4fJyDYA
Info=WebLoginRequired
"' in /Volumes/Macintosh Work/www/playground/gapi-1.3/gapi.class.php:418
Stack trace:
#0 /Volumes/Macintosh Work/www/playground/gapi-1.3/gapi.class.php(62): gapi->authenticateUser('Email...', 'password')
#1 /Volumes/Macintosh Work/www/playground/gapi-1.3/teste.php(17): gapi->__construct('EMAIL...', 'password')
#2 {main}
thrown in /Volumes/Macintosh Work/www/playground/gapi-1.3/gapi.class.php on line 418
答案 0 :(得分:3)
我几乎100%肯定那不再适用了。如果您检查,您可以看到该项目自2009年以来尚未开发,它允许您使用登录名和密码登录。客户端登录不适用于当前版本的Google Analytics,您必须使用开放式身份验证。
这取决于你在做什么,但你可以考虑使用Php客户端库。 https://github.com/google/google-api-php-client这样您就可以使用Google AnalyticsAPI选择Google Analytics数据了。您可以找到教程here
您还可以考虑使用Embeded API这将允许您显示精美的图形及其基于JavaScript。
答案 1 :(得分:1)
$analytics = new Google_Service_Analytics($client);
$profileId = 'UA-37213064-1';
$startDate='2011-02-01';
$endDate='2015-01-30';
$metrics = 'visits';
$optParams = array(
'max-results' => 1000,
'dimensions' => 'ga:pagePath,ga:country,ga:region,ga:city',
);
$results = $analytics->data_ga->get('ga:'.$profileId, $startDate, $endDate, 'ga:'.$metrics, $optParams);
答案 2 :(得分:1)
GAPI 2.0版已经发布,支持OAuth2和Google Analytics API v3。您的上述代码可以使用,但OAuth2将要求您create a 'service account',然后下载P12文件以上传到服务器。最后,您需要调整开发人员控制台,启用分析API&#39;。最后给这个新用户“阅读和分析”#39;您要访问的Google Analytics帐户的权限。