You need to enable JavaScript to run this app. 如何使用spatie/laravel-analytics实现GA V4 User Activity请求查询
优惠活动
大模型
产品
解决方案
定价
更多

如何使用spatie/laravel-analytics实现GA V4 User Activity请求查询

spatie/laravel-analytics 提供的performQuery方法仅适用于普通核心报表查询,你要实现的Google Analytics用户活动查询属于独立接口,需要调用扩展库封装的底层谷歌官方客户端实现。
另外你之前的performQuery写法参数位置错误,该方法第二个参数本身就是metrics指标参数,不需要再在第三个配置项中重复传入metrics字段。

正确实现方案

1. 普通指标报表查询(对应你之前写的performQuery场景)

$result = Analytics::performQuery(
    \Spatie\Analytics\Period::days(8),
    'ga:users,ga:sessions', // 直接传要查询的指标列表,多个用英文逗号分隔
    [
        'dimensions' => 'ga:date', // 可选,维度参数按需添加
        'sort' => '-ga:date' // 可选,其他过滤、排序参数也放在该数组中
    ]
);

2. 用户活动查询实现

首先引入必要的依赖类:

use Spatie\Analytics\Facades\Analytics;
use Google\Service\AnalyticsReporting;
use Google\Service\AnalyticsReporting\DateRange;
use Google\Service\AnalyticsReporting\User;
use Google\Service\AnalyticsReporting\UserActivityQuery;
use Google\Service\AnalyticsReporting\SearchUserActivityRequest;

实际调用代码:

// 获取底层谷歌官方客户端实例
$client = Analytics::getClient();
$analyticsReporting = new AnalyticsReporting($client);

// 配置查询日期范围
$dateRange = new DateRange();
$dateRange->setStartDate('8daysAgo');
$dateRange->setEndDate('today');

// 配置目标用户信息
$user = new User();
$user->setType('CLIENT_ID'); // 若按userId查询,此处改为USER_ID即可
$user->setUserId('你要查询的用户对应clientId或userId值');

// 配置用户活动查询参数
$userActivityQuery = new UserActivityQuery();
$userActivityQuery->setViewId('替换为你自己的GA视图ID');
$userActivityQuery->setUser($user);
$userActivityQuery->setDateRanges([$dateRange]);
$userActivityQuery->setPageSize(1000); // 按需调整返回的活动条目最大数量

// 组装查询请求
$request = new SearchUserActivityRequest();
$request->setViewId('替换为你自己的GA视图ID');
$request->setUserActivityQuery($userActivityQuery);

// 发起请求获取返回结果
$response = $analyticsReporting->userActivity->search($request);

返回结果中包含用户的会话列表、页面浏览记录、交互事件明细等所有用户行为数据,可根据业务需求自行解析使用。

内容的提问来源于stack exchange,提问作者OvnIvn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 18:27:07