如何从Google Analytics(分析)API获取几(10)个网址的网页浏览量?

时间:2016-11-01 07:50:16

标签: google-analytics google-analytics-api

如何从google analytics API获取少数(10)个网页的网页浏览量?

$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。

1 个答案:

答案 0 :(得分:2)

答案:每批最多可以有5个报告。无法在单个批处理请求中发送10个报告。

  

reportRequests[] object(ReportRequest)请求,每个请求   将有一个单独的回应。可以有最多5个请求。   所有请求都应具有相同的dateRanges,viewId,segments,   samplingLevel和cohortGroup。

可能的工作比比皆是:

这意味着如果您有10个,您可能需要将其拆分为两个请求。您可以查看过滤器表达式,我可以在那里添加多个过滤器表达式。 (提示:添加ga:pagepath维度,以便您可以将数据响应映射到它在过滤器中命中的页面)

  

要匹配的字符串或正则表达式。只有第一个值   除非运算符是IN_LIST,否则列表用于比较。如果   IN_LIST运算符,然后整个列表用于过滤   尺寸,如IN_LIST运算符的说明中所述。

注意:我实际上没有测试多个过滤器,但我认为它应该可行。