JavaのGoogleアナリティクスApi v4のカスタムディメンションにセグメントディメンションフィルタを使用しようとしています。テンプレートとして、私は次のサンプルを使用しています:GoogleアナリティクスAPI v4のカスタムディメンションのセグメントディメンションフィルタ
https://developers.google.com/analytics/devguides/reporting/core/v4/samples
をこれは、すべての寸法で正常に動作しますが、できるだけ早く私は、私たちのカスタムディメンションの一つのフィルタをフィルタ処理しようとする動作を停止するようです。ディメンションがフィルタ条件を満たすかどうかは関係ありません。応答にはすべての値が含まれます。
しかし、奇妙な部分は、私はカスタムディメンションに存在しないフィルタ条件で値を設定すると、私は応答を取得しません。だからその瞬間にフィルターが機能するようです。
ありがとうございました。
// Create the DateRange object.
DateRange dateRange = new DateRange();
dateRange.setStartDate("yesterday");
dateRange.setEndDate("yesterday");
Metric User = new Metric().setExpression("ga:users").setAlias("User");
Dimension prev_page_path = new Dimension().setName("ga:previousPagePath");
Dimension err = new Dimension().setName("ga:dimension14");
Dimension ShopName = new Dimension().setName("ga:dimension1");
// Create the segment dimension.
Dimension segmentDimensions = new Dimension().setName("ga:segment");
// Create Dimension Filter.
SegmentDimensionFilter dimensionFilter = new SegmentDimensionFilter()
.setDimensionName("ga:dimension14")
.setOperator("EXACT")
.setExpressions(Arrays.asList("404"));
// Create Segment Filter Clause.
SegmentFilterClause segmentFilterClause = new SegmentFilterClause()
.setDimensionFilter(dimensionFilter);
// Create the Or Filters for Segment.
OrFiltersForSegment orFiltersForSegment = new OrFiltersForSegment()
.setSegmentFilterClauses(Arrays.asList(segmentFilterClause));
// Create the Simple Segment.
SimpleSegment simpleSegment = new SimpleSegment()
.setOrFiltersForSegment(Arrays.asList(orFiltersForSegment));
// Create the Segment Filters.
SegmentFilter segmentFilter = new SegmentFilter()
.setSimpleSegment(simpleSegment);
// Create the Segment Definition.
SegmentDefinition segmentDefinition = new SegmentDefinition()
.setSegmentFilters(Arrays.asList(segmentFilter));
// Create the Dynamic Segment.
DynamicSegment dynamicSegment = new DynamicSegment()
.setSessionSegment(segmentDefinition)
.setName("404");
// Create the Segments object.
Segment segment = new Segment()
.setDynamicSegment(dynamicSegment);
// Create the ReportRequest object.
ReportRequest request = new ReportRequest()
.setViewId(VIEW_ID)
.setDateRanges(Arrays.asList(dateRange))
.setDimensions(Arrays.asList(prev_page_path, ShopName, err, segmentDimensions))
.setSegments(Arrays.asList(segment))
.setMetrics(Arrays.asList(User));
// Create the GetReportsRequest object.
GetReportsRequest getReport = new GetReportsRequest()
.setReportRequests(Arrays.asList(request));
// Call the batchGet method.
GetReportsResponse response = service.reports().batchGet(getReport).execute();
Anwserは、次のようになります...
ga:previousPagePath: #########
ga:dimension1: #########
ga:dimension14: 404
ga:segment: 404
Date Range (0): User: 1
ga:previousPagePath: #########
ga:dimension1: #########
ga:dimension14: productlist
ga:segment: 404
Date Range (0): User: 1