Java Google Analytics API找不到页面路径

Java Google Analytics API找不到页面路径,java,google-analytics-api,Java,Google Analytics Api,我试图使用JAVA向数据库报告google analytics数据,但某些地址返回null,即使URL存在 示例:/catalog/companyX/US/en-----它找到了 /目录/公司/美国/英语/研究------他找不到 我尝试使用过滤器“ga:pagePath=@/research”,它总是返回null。有什么问题吗?因为他在谷歌分析网站上找到了这些URL public GetReportsResponse getReport(AnalyticsReporting service)

我试图使用JAVA向数据库报告google analytics数据,但某些地址返回null,即使URL存在

示例:/catalog/companyX/US/en-----它找到了

/目录/公司/美国/英语/研究------他找不到

我尝试使用过滤器“ga:pagePath=@/research”,它总是返回null。有什么问题吗?因为他在谷歌分析网站上找到了这些URL

public GetReportsResponse getReport(AnalyticsReporting service) throws IOException {
    // Create the DateRange object.
    DateRange dateRange = new DateRange();
    dateRange.setStartDate("2019-10-06");
    dateRange.setEndDate("2019-10-06");

    // Create the Metrics object.
    Metric timeOnPage = new Metric().setExpression("ga:timeOnPage");
    Metric totalEvents = new Metric().setExpression("ga:totalEvents");
    Metric avgSessionDuration = new Metric().setExpression("ga:avgSessionDuration");
    Metric hits = new Metric().setExpression("ga:hits");

    // Create the Dimensions object.
    Dimension browser = new Dimension().setName("ga:browser");
    Dimension device = new Dimension().setName("ga:deviceCategory");
    Dimension country = new Dimension().setName("ga:country");
    Dimension page = new Dimension().setName("ga:pagePath");
    Dimension eventCategory = new Dimension().setName("ga:eventCategory");
    Dimension eventAction = new Dimension().setName("ga:eventAction");
    Dimension eventLabel = new Dimension().setName("ga:eventLabel");
    Dimension date = new Dimension().setName("ga:date");
    Dimension pageTitle = new Dimension().setName("ga:pageTitle");

    ReportRequest request6 = new ReportRequest().setViewId(VIEW_ID).setDateRanges(Arrays.asList(dateRange))
            .setPageSize(100000)
            .setMetrics(Arrays.asList(totalEvents, hits, avgSessionDuration, timeOnPage))
            .setDimensions(Arrays.asList(date, country, page, browser, device, eventCategory, eventAction,
                    eventLabel, pageTitle));

    ArrayList<ReportRequest> requests = new ArrayList<ReportRequest>();
    requests.add(request6);


    // 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;
}

public void printResponse(GetReportsResponse response) {

    for (Report report : response.getReports()) {
        ColumnHeader header = report.getColumnHeader();

        List<String> dimensionHeaders = header.getDimensions();
        List<MetricHeaderEntry> metricHeaders = header.getMetricHeader().getMetricHeaderEntries();
        List<ReportRow> rows = report.getData().getRows();

        if (rows == null) {
            System.out.println("No data found for " + VIEW_ID);
            return;
        }

        for (ReportRow row : rows) {
            TableGA tableGA = new TableGA();
            Acessos acessos = new Acessos();
            List<String> dimensions = row.getDimensions();
            List<DateRangeValues> metrics = row.getMetrics();
            if (row.getDimensions() != null) {

                for (int i = 0; i < dimensionHeaders.size() && i < dimensions.size(); i++) {
                    switch (dimensionHeaders.get(i)) {
                    case "ga:browser":
                        tableGA.setBrowser(dimensions.get(i));

                        break;
                    case "ga:deviceCategory":
                        tableGA.setDevice(dimensions.get(i));

                        break;
                    case "ga:country":
                        tableGA.setCountry(dimensions.get(i));

                        break;
                    case "ga:pagePath":
                        tableGA.setPage(dimensions.get(i));

                        break;
                    case "ga:eventCategory":
                        tableGA.setEventCategory(dimensions.get(i));

                        break;
                    case "ga:eventAction":
                        tableGA.setEventAction(dimensions.get(i));

                        break;
                    case "ga:eventLabel":
                        tableGA.setEventLabel(dimensions.get(i));

                        break;
                    case "ga:date":
                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                        Date convertedCurrentDate = null;
                        String year = dimensions.get(i).substring(0, 4);
                        String month = dimensions.get(i).substring(4, 6);
                        String day = dimensions.get(i).substring(6, 8);
                        String date = year + "-" + month + "-" + day;
                        try {
                            convertedCurrentDate = simpleDateFormat.parse(date);
                        } catch (ParseException e) {
                            e.printStackTrace();
                        }
                        tableGA.setActualDate(convertedCurrentDate);

                        break;
                    case "ga:pageTitle":
                        tableGA.setPageTitle(dimensions.get(i));

                        break;
                    }
                }
            }
            for (int j = 0; j < metrics.size(); j++) {
                DateRangeValues values = metrics.get(j);
                for (int k = 0; k < values.getValues().size() && k < metricHeaders.size(); k++) {
                    switch (metricHeaders.get(k).getName()) {
                    case "ga:timeOnPage":
                        tableGA.setTimeOnPage(Double.parseDouble(values.getValues().get(k)));
                        break;
                    case "ga:totalEvents":
                        tableGA.setTotalEvents(Integer.parseInt(values.getValues().get(k)));
                        break;
                    case "ga:avgSessionDuration":
                        tableGA.setAvgSessionDuration(Double.parseDouble(values.getValues().get(k)));

                        break;
                    case "ga:hits":
                        tableGA.setHits(Integer.parseInt(values.getValues().get(k)));

                        break;
                    }
                }

            }
            gaService.save(tableGA);
            System.out.println(tableGA.getPage());
            gaService.save(acessos);
        }
    }
}
public GetReportsResponse getReport(分析报告服务)引发IOException{
//创建DateRange对象。
DateRange DateRange=新的日期范围();
日期范围。设置开始日期(“2019-10-06”);
日期范围。设置结束日期(“2019-10-06”);
//创建度量对象。
Metric timeOnPage=new Metric().setExpression(“ga:timeOnPage”);
Metric totalEvents=new Metric().setExpression(“ga:totalEvents”);
Metric avgSessionDuration=new Metric().setExpression(“ga:avgSessionDuration”);
Metric hits=new Metric().setExpression(“ga:hits”);
//创建标注对象。
维度浏览器=新维度().setName(“ga:浏览器”);
维度设备=新维度().setName(“ga:deviceCategory”);
维度国家=新维度().setName(“ga:国家”);
维度页面=新维度().setName(“ga:pagePath”);
维度eventCategory=新维度().setName(“ga:eventCategory”);
维度eventAction=新维度().setName(“ga:eventAction”);
维度eventLabel=新维度().setName(“ga:eventLabel”);
维度日期=新维度().setName(“ga:date”);
维度pageTitle=新维度().setName(“ga:pageTitle”);
ReportRequest request6=new ReportRequest().setViewId(VIEW_ID).setDateRanges(Arrays.asList(dateRange))
.setPageSize(100000)
.setMetrics(Arrays.asList(totalEvents、hits、avgSessionDuration、timeOnPage))
.setDimensions(数组.asList(日期、国家/地区、页面、浏览器、设备、事件类别、事件操作、,
事件标签,页面标题);
ArrayList请求=新建ArrayList();
请求。添加(请求6);
//创建GetReportsRequest对象。
GetReportsRequest getReport=新建GetReportsRequest().setReportRequests(请求);
//调用batchGet方法。
GetReportsResponse response=service.reports().batchGet(getReport.execute();
//返回响应。
返回响应;
}
公共void打印响应(GetReportsResponse响应){
for(报告:response.getReports()){
ColumnHeader=report.getColumnHeader();
List dimensionHeaders=header.getDimensions();
List metricHeaders=header.getMetricHeader().getMetricHeaderEntries();
列表行=report.getData().getRows();
if(行==null){
System.out.println(“未找到“+视图ID”的数据);
返回;
}
用于(报告行:行){
TableGA TableGA=新TableGA();
Acessos Acessos=新Acessos();
列表维度=行。getDimensions();
List metrics=row.getMetrics();
if(row.getDimensions()!=null){
对于(int i=0;i