详解使用Java在Google Analytics(分析)上分页

来源:爱站网时间:2021-11-26编辑:网友分享
今天爱站技术小编给大家使用Java在Google Analytics(分析)上分页,这篇文章还是挺有意思的,也是有一定的参考价值,有兴趣的朋友可以来参考参考,希望能给你们一些启发。

问题描述


我正在使用Java从Google Analytics(分析)中实现数据提取,并且我正在关注此示例:https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-java

我设法提取了我需要的数据,但是我不知道如何使用其客户端设置start-index。在下面,您可以看到我对默认实现所做的更改。我可以设置页面大小,但是找不到如何设置start-index

public GetReportsResponse getReport(String dateStart, String dateEnd) throws IOException {

        String[] metricsArr = {"ga:users", "ga:newUsers", "ga:sessions", "ga:totalEvents"};
        String[]  dimensionsArr = {"ga:eventLabel","ga:eventCategory","ga:eventAction", "ga:country", "ga:countryIsoCode", "ga:dateHourMinute"};

        // Create the DateRange object.
        DateRange dateRange = new DateRange();
        dateRange.setStartDate(dateStart);
        dateRange.setEndDate(dateEnd);

        // Create the Metrics object.
        ArrayList metrics = new ArrayList();
        for(String item : metricsArr){
            Metric m = new Metric().setExpression(item).setAlias(item.replace("ga:", ""));
            metrics.add(m);
        }

        ArrayList dimensions = new ArrayList();
        for(String item : dimensionsArr){
            Dimension d = new Dimension().setName(item);
            dimensions.add(d);
        }

        // Create the ReportRequest object.
        ReportRequest request = new ReportRequest()
                .setViewId(this.VIEW_ID)
                .setDateRanges(Arrays.asList(dateRange))
                .setMetrics(metrics)
                .setDimensions(dimensions)
                .setFiltersExpression("ga:eventCategory=@NOTICE,ga:eventCategory==Document,ga:eventCategory==Document reader")
                .setPageSize(10000);

        ArrayList requests = new ArrayList();
        requests.add(request);

        // Create the GetReportsRequest object.
        GetReportsRequest getReport = new GetReportsRequest().setReportRequests(requests);

        // Call the batchGet method.
        GetReportsResponse response = service.reports().batchGet(getReport).execute();

        // Return the response.
        return response;
    }

如何实现这一点,以便可以浏览所有页面并提取所有项目?

感谢您的帮助

解决方法:


Reporting API V4使用页面令牌。报告API的回复将返回下一页的令牌,请参阅nextPageToken。使用它,您可以进行完全相同的调用,但使用上一个回复中的nexttoken来更新请求中的pageToken。请注意,您对报告API进行的第一次调用将没有附加到请求的页面令牌,最后一页将没有设置nextpagetoken。

我希望有帮助。

以上内容就是爱站技术频道小编为大家分享的详解使用Java在Google Analytics(分析)上分页,看完以上分享之后,大家应该都更了解Java在Google Analytics了吧。

上一篇:如何继续使用下一个方法

下一篇:PyLucene的Make和Make安装麻烦

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载