我打电话给谷歌分析,同时建立项目一切都很好,我可以很好地调用数据。现在,通过调用实时数据,每天有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']
);
}
}
任何帮助,指示,提示或建议都会受到赞赏,已经过了几天,现在压力很大:')
答案 0 :(得分:0)
我认为每个视图的请求数量有限,而不是每个用户。
无论如何,我认为试图绕过谷歌的API限制并不是一个好主意。在我看来,它往往反映您滥用了API或Google提供的免费服务。我建议你重新考虑你的方法。你为什么要提出这么多要求?
尝试每天将每个模板减少到一个请求,并确保正确存储这些数据,这样您就不必多次提取相同的数据。