<?php
require('gapi.class.php');
$ga = new gapi(_GAE_,_GAP_);
$dimensions = array('source');
$metrics = array('visits');
$ga->requestReportData(_GAA_, $dimensions, $metrics,'-visits');
$gaResults = $ga->getResults();
$i=1;
foreach($gaResults as $result)
{
printf("%-4d %-40s %5d\n",
$i++,
$result->getSource(),
$result->getVisits());
}
echo "\n-----------------------------------------\n";
echo "Total Results : {$ga->getTotalResults()}";
?>
此代码来自GAPI教程,我在登录失败时不断收到这些错误,但我的所有信息都是正确的。
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: "GDatainsufficientPermissionsUser does not have sufficient permissions for this profile."' in public_html/admin/gapi.class.php:218 Stack trace: #0
public_html/php/templates/pages/ga_advanced.php(11): gapi->requestReportData('52537078', Array, Array, '-visits') #1
public_html/php/php_includes/easyCMSv2.php(43): include('/home/a3822536/...') #2
public_html/php/templates/pages/general_google_analytics.php(6): CMS->template('../php/template...') #3
public_html/admin/gapi.class.php on line 218
有没有人有这方面的经验可以解释什么是错的?我使用的帐户ID与UA
和-(n)
以及它一起使用。 EX:UA-1238124hf-y
但没有任何效果。
答案 0 :(得分:2)
您在请求中使用的是ACCOUNT id
而不是PROFILE id
。
当你登录GA时可以找到个人资料ID点击链接查看特定个人资料(网站)的统计数据,在URL中你会看到如下内容:
https://www.google.com/analytics/web/?#report/visitors-overview/axxxxxwxxxxxxxpXXXXXX/
&#34; p&#34;之后的数字在URL的末尾是个人资料ID
答案 1 :(得分:0)
所以在做了一些挖掘之后我找到了解决方法,你实际上必须编辑GAPI.class php代码。 You can read more here
将第32
行更改为
const account_data_url = 'https://www.googleapis.com/analytics/v2.4/management/accounts/~all/webproperties/~all/profiles';
将行267
和268
更改为
$account_root_parameters['generator'] = strval($xml->generator);
$account_root_parameters['generatorVersion'] = strval($xml->generator->attributes());
将第270
行更改为
$open_search_results = $xml->children('http://a9.com/-/spec/opensearch/1.1/');
将行322
和323
更改为
$report_root_parameters['generator'] = strval($xml->generator);
$report_root_parameters['generatorVersion'] = strval($xml->generator->attributes());
将第325
行更改为
$open_search_results = $xml->children('http://a9.com/-/spec/opensearch/1.1/');
希望能帮助任何其他用户寻找并且找不到明确的文档。
答案 2 :(得分:0)
在我的案例中有用的是我需要在
中使用php代码然后转到您的Google帐户的security settings并启用安全性
确保在完成后重新启用它。