gpt4 book ai didi

php - 谷歌分析 API 优化

转载 作者:搜寻专家 更新时间:2023-10-31 20:35:20 24 4
gpt4 key购买 nike

我正在开发一个需要将 Google Analytics API 与 PHP 集成的应用程序。这是 API 文档的链接 Google Analytics Core Reporting API ,目前我正面临过载问题。

在我们的应用程序中,我们需要为选定的日期范围形成一个图表。例如 session 计数。 API 具有开始和结束数据等参数的选项,但作为响应,它仅提供 session 计数的平均值/总数/页面加载时间。但是为了生成图表,我们确实需要给定日期范围内每一天的数据。例如2015 年 1 月 1 日至 1 月 30 日,对于这种情况,我们必须每天发送 30 个请求并使用此方法获取图表数据。有没有什么方法可以减少请求数或获取日期格式的数据?

我们正在收集许多指标,如平均页面加载时间、有机 session 等。这使得它在页面加载时向 google API 本身发出 180-210 次请求,有时它会抛出一个错误,即过度使用来自 google 的资源。

最佳答案

您可以添加 ga:date dimension .它将分解日期范围内每个日期的每个指标的值:

在 JSON 中

{
"reportRequests":
[
{
"dimensions":
[
{
"name": "ga:date"
}
],
"metrics":
[
{
"expression": "ga:sessions"
},
{
"expression": "ga:avgpageloadtime"
}
],
"viewId": "XXXX",
"dateRanges":
[
{
"startDate": "7daysAgo",
"endDate": "yesterday"
}
]
}
]
}

在 PHP 中

// Create the DateRange object.
$dateRange = new Google_Service_Analyticsreporting_DateRange();
$dateRange->setStartDate("7DaysAgo");
$dateRange->setEndDate("yesterday");

// Create the Metrics objects.
$sessions = new Google_Service_Analyticsreporting_Metric();
$sessions->setExpression("ga:sessions");
$avgpageloadtime = new Google_Service_Analyticsreporting_Metric();
$avgpageloadtime->setExpression("ga:avgpageloadtime");

//Create the Dimensions object.
$date = new Google_Service_Analyticsreporting_Dimension();
$date->setName("ga:date");

// Create the ReportRequest object.
$request = new Google_Service_Analyticsreporting_ReportRequest();
$request->setViewId("XXXX");
$request->setDateRanges($dateRange);
$request->setDimensions(array($date));
$request->setMetrics(array($sessions, $avgpageloadtime));

$body = new Google_Service_Analyticsreporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analyticsreporting->reports->batchGet( $body );

关于php - 谷歌分析 API 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com