Google Analytics 4 Data API PHP请求如何正确配置orderBys排序参数
GA4 Data API PHP 按维度排序正确写法
首先需要先引入对应的依赖类:
use Google\Analytics\Data\V1beta\OrderBy; use Google\Analytics\Data\V1beta\OrderBy\DimensionOrderBy;
你代码中声明的维度名为day,排序参数的维度名需要和该值完全匹配,修正后的完整请求代码如下:
$response = $client->runReport([ 'property' => 'properties/' . $property_id, 'dateRanges' => [ new DateRange([ 'start_date' => '7daysAgo', 'end_date' => 'yesterday', ]), ], 'dimensions' => [ new Dimension(['name' => 'day']) ], 'metrics' => [ new Metric(['name' => 'newUsers']), new Metric(['name' => 'active7DayUsers']), ], 'orderBys' => [ new OrderBy([ 'dimension' => new DimensionOrderBy([ 'dimension_name' => 'day', 'order_type' => OrderBy\DimensionOrderBy\OrderType::ALPHANUMERIC, ]), 'desc' => false, // 设为false按日期升序(从早到晚),设为true按日期降序(从晚到早) ]) ], ]);
关键参数说明
dimension_name:必须和你在dimensions数组中声明的维度name完全一致,拼写、大小写错误都会导致请求失败order_type:除了ALPHANUMERIC(字母数字排序,对纯数字格式的日期维度会按数值大小排序,符合日期顺序要求),还可根据需求选择CASE_INSENSITIVE_ALPHANUMERIC(不区分大小写字母数字排序)、NUMERIC(数值排序)等值desc:控制排序方向,默认false为升序
常见场景补充
如果需要按指标排序,只需将dimension替换为metric配置即可,示例如下:
'orderBys' => [ new OrderBy([ 'metric' => new OrderBy\MetricOrderBy([ 'metric_name' => 'newUsers' ]), 'desc' => true ]) ]
内容的提问来源于stack exchange,提问作者Daniel Soublett
相关产品推荐
相关产品推荐

