我正在调用谷歌分析,在构建项目的同时,一切都很好,我可以调用数据。现在,通过调用实时数据,一个用户每天有1万个请求。
https://developers.google.com/analytics/devguides/reporting/realtime/v3/limits-quotas#overview
在我的项目中,我有3个不同的登录,显示了三个不同的模板和各种数据,在每个页面上,我都会调用ajax将数据拉到特定的模板中。同样,这个逻辑运行良好,正如预期的那样。但当我在三个用户都登录并在几个小时内拨打电话的情况下测试该应用程序时,10公里的限制很快就会达到。
因此,我进行了研究,发现10K请求是每天的,也是每个GA用户的。现在,我正在尝试在Google分析中为我的项目中的每个用户以及我在模板中进行的ajax调用创建单独的用户,对于这些调用,我当然希望访问授权为相关用户的API。
这就是我遇到障碍的地方,我发现如何在相同的GA帐户下创建一个新用户,并在点击API 时验证我自己
如果需要的话,我会向下方的任何人展示我的控制器,以供参考
<?php
namespace AppBundleControllerApi;
use SymfonyComponentHttpFoundationResponse;
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']
);
}
}
任何帮助、建议、提示或建议都将不胜感激,在这几天里,压力越来越大:")
我认为每个视图的请求是有限的,而不是每个用户的请求。
无论如何,我认为试图规避谷歌API的限制不是一个好主意。在我看来,这往往反映出你滥用API或谷歌提供的免费服务。我建议你重新考虑你的方法。为什么你需要提出这么多要求?
试着把自己减少到每天每个模板一个请求,并确保适当地存储这些数据,这样就不必多次提取相同的数据。