GA4 API PHP库筛选指标报错:期望Google\Analytics\Data\V1beta\NumericValue
GA4 API PHP库指标筛选错误修复
问题根源
你遇到的"Expect Google\Analytics\Data\V1beta\NumericValue"错误,是因为**numeric_filter的value参数必须传入NumericValue对象**,而非直接传递字符串数值。对照API Explorer的JSON请求可以看到,value是包含int64Value的嵌套结构,对应PHP库中需要实例化Google\Analytics\Data\V1beta\NumericValue类来匹配这个结构。
修正后的完整代码
// 确保引入NumericValue类(若未引入) use Google\Analytics\Data\V1beta\NumericValue; $response = $client->runReport([ 'property' => 'properties/' . $property_id, 'dateRanges' => [ new DateRange([ 'start_date' => 'yesterday', 'end_date' => 'yesterday', ]), ], 'dimensions' => [ new Dimension([ 'name' => 'eventName', ]), ], 'metrics' => [new Metric( [ 'name' => 'eventCount', ]) ], 'metricFilter' => new FilterExpression([ 'filter' => new Filter([ 'field_name' => 'eventCount', 'numeric_filter' => new Filter\NumericFilter([ 'operation' => Filter\NumericFilter\Operation::GREATER_THAN, // 核心修改:用NumericValue对象包裹数值 'value' => new NumericValue([ 'int64_value' => '10000' ]), ]) ]), ]), ]);
核心修改说明
- 首先引入
NumericValue类,确保PHP能识别该类型 - 将
numeric_filter里的value从字符串'10000'替换为new NumericValue(['int64_value' => '10000']),完全对应JSON请求中的int64Value结构
这样调整后,参数类型就能匹配API要求,解决当前的错误。
内容的提问来源于stack exchange,提问作者JazzV
相关产品推荐
相关产品推荐

