我有这个页面浏览计数器显示当前帖子的浏览次数。我正在使用适用于 PHP 的 Google API 客户端库,它与 Google Analytics UA 配合得很好,但现在 GA4 确实发生了(2024 年 7 月),它已经死了,我不断收到错误 403,“用户没有足够的权限”对于此配置文件。”。
我尝试更新 API 库,但它不再维护。通过一些调试,我可以注意到问题是脚本正在使用“view_id”,该“view_id”在分析新版本中不再可用。我确实搜索了很多,但是我得到的每个解决方案都已经过时,并且一直告诉我设置“view_id”。那么各位,我如何检索当前帖子的 GA4 页面浏览量(或会话)?
如果您已经创建了 GA4 媒体资源 ID,则可以在初始化分析应用后使用此功能获取页面浏览量。如果还没有,请先使用服务帐号设置 GA4 媒体资源 ID。
function getPageViews($analytics, $propertyId, $pagePath) {
$request = new Google\Service\AnalyticsData\RunReportRequest([
'dimensions' => [new Google\Service\AnalyticsData\Dimension(['name' => 'pagePath'])],
'metrics' => [new Google\Service\AnalyticsData\Metric(['name' => 'screenPageViews'])],
'dateRanges' => [new Google\Service\AnalyticsData\DateRange(['startDate' => '30daysAgo', 'endDate' => 'today'])],
'dimensionFilter' => new Google\Service\AnalyticsData\FilterExpression([
'filter' => new Google\Service\AnalyticsData\Filter([
'fieldName' => 'pagePath',
'stringFilter' => new Google\Service\AnalyticsData\StringFilter([
'matchType' => 'EXACT',
'value' => $pagePath
])
])
])
]);
$response = $analytics->properties->runReport("properties/$propertyId", $request);
return $response->getRows()[0]->getMetricValues()[0]->getValue();
}