指定访问Google AnalyticsAPI的用户

时间:2016-05-25 14:27:15

标签: google-analytics google-api symfony

我打电话给谷歌分析,同时建立项目一切都很好,我可以很好地调用数据。现在,通过调用实时数据,每天有10k个请求来自一个用户。

https://developers.google.com/analytics/devguides/reporting/realtime/v3/limits-quotas#overview

在我的项目中,我有3个不同的登录,显示三种不同的模板和各种数据,在每个页面上我正在进行ajax调用以将数据拉入特定模板。再次,这种逻辑正如预期的那样运作良好。但是当我测试应用程序时,所有三个用户都登录并在几小时内拨打电话,很快就会达到10k限制。

所以我做了我的研究,发现10K请求是每天,也是每个GA用户。现在,我正在尝试为我项目中的每个用户创建Google分析中的单独用户以及我在模板中进行的ajax调用,对于那些我希望获得授权作为相关用户的API的调用。

这就是我遇到问题的地方,我觉得如何在同一个GA帐户下创建新用户,并在点击API时以自己的身份认证自己会让人感到困惑

我将展示我的控制器,如果需要,可以为任何人打电话以供参考

<?php

namespace AppBundle\Controller\Api;

use Symfony\Component\HttpFoundation\Response;
use Google_Client;

class GAGetVistorsCount
{
protected $key;
protected $email;

public function __construct($key, $email)
{
    $this->key      = $key;
    $this->email    = $email;
}

public function __invoke()
{
    $client = new Google_Client();

    $gaAuth = 'https://www.googleapis.com/auth/analytics.readonly';
    $keyfile = file_get_contents($this->key);

    $client->setApplicationName('TeamRock-Dashboard');
    $client->setAssertionCredentials(new \Google_Auth_AssertionCredentials(
              $this->email,[$gaAuth],$keyfile
            ));
    $analytics = new \Google_Service_Analytics($client);

    $optParams = array(
        'dimensions' => 'rt:medium'
    );

    $apiCall = $analytics->data_realtime->get('ga:<profileView>', 'rt:activeVisitors', $optParams);
    $data = $apiCall->getTotalsForAllResults();

    return new Response(
        $data['rt:activeVisitors']
    );
  }
}

任何帮助,指示,提示或建议都会受到赞赏,已经过了几天,现在压力很大:')

1 个答案:

答案 0 :(得分:0)

我认为每个视图的请求数量有限,而不是每个用户。

无论如何,我认为试图绕过谷歌的API限制并不是一个好主意。在我看来,它往往反映您滥用了API或Google提供的免费服务。我建议你重新考虑你的方法。你为什么要提出这么多要求?

尝试每天将每个模板减少到一个请求,并确保正确存储这些数据,这样您就不必多次提取相同的数据。