Google Analytics 4 API - runReport() 给出空结果:"source" 维度不工作

Google Analytics 4 API - runReport() give empty result : "source" Dimension not working

我正在 PHP 脚本中使用新的 Google Analytics API (GA4)。 我的 API 请求自昨天起运行良好,其中一个 runReport() 查询突然开始返回空结果:

        $globalTrendData = $client->runReport([
        'property' => 'properties/' . $property_id,
        'dateRanges' => [
            new DateRange([
                'start_date' => '20daysAgo',
                'end_date' => 'yesterday',
            ]),
        ],
        'dimensions' => [
            new Dimension(['name' => 'pagePath',]),
            new Dimension(['name' => 'pageTitle',]),
            new Dimension(['name' => 'city',]),
            new Dimension(['name' => 'source',]),
            new Dimension(['name' => 'date',])
        ],
        'metrics' => [
            new Metric(['name' => 'screenPageViews',]),
            new Metric(['name' => 'userEngagementDuration',]),
            new Metric(['name' => 'activeUsers',]),

        ]
    ]);

为什么这个查询停止工作? Google 是否对 API 进行了一些更改?

几天前,Google 开始使用新的维度和指标名称... 替换旧的 Universal Analytics API.

使用的一些内容

此处刚刚出现迁移文档:https://developers.google.com/analytics/devguides/migration/api/reporting-ua-to-ga4-dims-mets

所以对于我的问题,我不得不改变:

 new Dimension(['name' => 'source',]),

作者:

new Dimension(['name' => 'sessionSource',]),

因为“sessionSource”是获取源维度的新官方 GA4 名称。解决了问题,得到了正确的return.

希望它可以帮助一些想知道为什么分析调用突然不起作用的人,请检查上面 link 上的指标和维度名称!