【问题标题】:How to set up google analytics account service?如何设置谷歌分析账户服务?
【发布时间】:2014-10-30 15:09:07
【问题描述】:

我是使用 Google Analytics API 的新手,但遇到了问题。 我收到标记为 (403) 用户没有任何 Google Analytics 帐户的错误。 使用我的谷歌帐户,我可以查看谷歌分析页面,但我不能。

这是我的代码。我想我在前 6 行中误用了一些东西,但是什么? 欢迎任何想法。

$scope = "https://www.googleapis.com/auth/analytics";
$client_id = "[12 numbers]-[32 letters/numbers].apps.googleusercontent.com";
$service_account_name = "[same 12 numbers]-[same 32 letters/numbers] @developer.gserviceaccount.com";
$key_file_location = "./google-account-service.p12";
$projectId = "[same 12 numbers]";
$projectName = "[my project name defined in console.developers.google.com]";

$client = new Google_Client();
$client->setApplicationName($projectName);

$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials($service_account_name, array($scope), $key);  

$client->setAssertionCredentials($cred);

if($client->getAuth()->isAccessTokenExpired()){
    $client->getAuth()->refreshTokenWithAssertion($cred);
}

$client->getAccessToken();

$service = new Google_Service_Analytics($client);

// metrics
$_params[] = 'date';
$_params[] = 'date_year';
$_params[] = 'date_month';
$_params[] = 'date_day';
// dimensions
$_params[] = 'visits';
$_params[] = 'pageviews';
$_params[] = 'bounces';
$_params[] = 'entrance_bounce_rate';
$_params[] = 'visit_bounce_rate';
$_params[] = 'avg_time_on_site';

$from = date('Y-m-d', time()-2*24*60*60); // 2 days
$to = date('Y-m-d'); // today

$metrics = 'ga:visits,ga:pageviews,ga:bounces,ga:entranceBounceRate,ga:visitBounceRate,ga:avgTimeOnSite';
$dimensions = 'ga:date,ga:year,ga:month,ga:day';
$data = $service->data_ga->get('ga:'.$projectId, $from, $to, $metrics, array('dimensions' => $dimensions));

foreach($data['rows'] as $row) {
   $dataRow = array();
   foreach($_params as $colNr => $column) echo $column . ': '.$row[$colNr].', ';
}

【问题讨论】:

    标签: php google-analytics-api


    【解决方案1】:

    您使用的服务帐户邮件无效。您需要在 console.developers.google.com 中创建一个项目并激活用于 google 分析的 api。然后您将可以访问您的服务帐户电子邮件,在您的代码中使用它。

    【讨论】:

    • 感谢您的回答,我在 console.developers.google.com/project 创建了一个项目,在 API 中启用了 GA,在“凭据”菜单中创建了一个“服务帐户”类型的 oauth2 客户端,下载了 p12 文件,复制我下面的代码中的客户 ID 和电子邮件地址。我忘了做什么?
    【解决方案2】:

    只是我在您的代码中注意到的一个提示,您将 $projectid = 前 12 个数字设置为 $clientid 中的数字,据我所知这是错误的 .. $projectid 必须等于(转到您的谷歌分析帐户,看看你会注意到有一个段看起来像 /a39569200w68518820p70543179/ 的 URL解决你的问题,但我认为你应该知道..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2012-11-15
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      相关资源
      最近更新 更多