Google Analytics Data API - 无法在 C#.NET 中的请求中设置空过滤器

问题描述 投票:0回答:1

我正在使用 Google Analytics Data API v1 beta 在 C#.NET 中获取 GA4 媒体资源的数据。
我正在为其初始化过滤器,如下所示:

FilterExpression dimensionFilterExpression = new FilterExpression();
FilterExpression metricFilterExpression = new FilterExpression();

如果前端提供了任何过滤器,我稍后会填写,如下所示:

dimensionFilterExpression.Filter = new Filter { FieldName = field_name, InListFilter = new Filter.Types.InListFilter { CaseSensitive = case_sensitive } };

然后我只需使用

RunReportRequest
和所需参数创建一个请求

request = new RunReportRequest
          {
                Property = "properties/" + property_id,
                Dimensions = { dimensionsList },
                Metrics = { metricsList },
                DateRanges = { new AnalyticsDataApi.DateRange { StartDate = start_date, EndDate = end_date } },
                DimensionFilter = dimensionFilterExpression,
                MetricFilter = metricFilterExpression
          };

但是当过滤器为空时我会遇到异常

StatusCode="InvalidArgument", Detail="FilterExpression requires an expression field"

同样适用于

OrderBys
MetricFilter

我们如何处理没有过滤器或没有 orderby 的情况,因为那时只需要为每种情况编写 if else 的所有组合,这是不可行的

c# .net google-analytics-api google-analytics-data-api
1个回答
0
投票

我也遇到同样的情况,请问你找到解决办法了吗?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.