Google analytics 如何从google analytics API中获取页面浏览量占少数(10)个URL?
如何从google analytics API中获取页面浏览量占少数(10)个URLGoogle analytics 如何从google analytics API中获取页面浏览量占少数(10)个URL?,google-analytics,google-analytics-api,Google Analytics,Google Analytics Api,如何从google analytics API中获取页面浏览量占少数(10)个URL $requests = []; foreach($urls as $url) { $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate($start_date); $dateRange->setEndDate($end
$requests = [];
foreach($urls as $url) {
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate($start_date);
$dateRange->setEndDate($end_date);
$sessions = new Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression("ga:pageviews");
$sessions->setAlias("pageviews");
$dimensionFilter = new Google_Service_AnalyticsReporting_DimensionFilter();
$dimensionFilter->setDimensionName('ga:pagePath');
$dimensionFilter->setOperator('BEGINS_WITH');
$dimensionFilter->setExpressions([$url]);
$dimensionFilterClause = new Google_Service_AnalyticsReporting_DimensionFilterClause();
$dimensionFilterClause->setFilters([$dimensionFilter]);
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($this->view_id);
$request->setDateRanges($dateRange);
$request->setMetrics([$sessions]);
$request->setDimensionFilterClauses([$dimensionFilterClause]);
$requests[] = $request;
}
// Finally, we perform one large query for every URL address mentioned
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests([$requests]);
$reports = $this->analytics->reports->batchGet( $body );
如果URL计数大于5,则引发异常并显示消息:
批处理请求中的请求太多。允许的最大值为5
我怎么能做到?
GA API版本4。回答:每个批次最多可以有5份报告。无法在一个批处理请求中发送10份报告 请求,每个请求 将有一个单独的答复。最多可以有5个请求。 所有请求应具有相同的日期范围、视图ID、段、, 采样级别,和同级组 可能的工作很多: 这意味着,如果您有10个请求,您可能必须将其拆分为两个请求。你可以看看你的过滤表达式,我想你可以在那里添加更多的。(提示:添加ga:pagepath维度,以便将数据响应映射到它在筛选器中命中的页面) 要匹配的字符串或正则表达式。只有第一个值 除非运算符在\u列表中,否则列表的值用于比较。如果 在_LIST操作符中,则整个列表用于过滤 尺寸如in_列表运算符说明中所述
注意:我实际上还没有测试过多个过滤器,但我认为它应该可以工作。谢谢您的回答。是的,我可以在每2个批处理请求中拆分10个URL。但这并不好。我认为API有机会解决这个问题。我不能在列表中使用表达式,因为我必须获得所有URL版本的页面浏览计数(^/page,^/page?utm_source=1,^/page?utm_source=2)。因此,我使用BEGINS_WITH。API无法为您解决此问题。如文档中所述,每批只能发送五份报告请求。不,我不认为谷歌会为你增加这个数字。我可以在下一次与球队交谈时向他们提出这个问题,但我真的认为这五个是相似的。如果您添加ga:pagepath,您将获得按日期和页面分组的结果,这将使用过滤器为您提供所需的信息。我的正则表达式已经生锈了,但我仍然认为这是可能的。