PHP环境下如何在GA4的Google Admin API中使用OAuth访问令牌
GA4 Admin API 使用OAuth Access Token 访问的PHP实现
GA4 Admin API并非仅支持服务凭证,完全可以通过OAuth 2.0用户授权的access token来访问用户的GA4账户,以下是具体实现方式:
实现步骤
- 确保已完成OAuth授权流程,获取到用户的access token(若需要长期访问,需同时保存refresh token)
- 配置
Google_Client并将其凭证注入到AnalyticsAdminServiceClient中
完整代码示例
// 初始化Google_Client实例 $client = new Google_Client(); // 配置OAuth客户端信息(替换为你的实际配置) $client->setClientId('你的OAuth客户端ID'); $client->setClientSecret('你的OAuth客户端密钥'); $client->setRedirectUri('你的授权回调地址'); // 添加GA4 Admin API所需权限范围,根据需求选择 $client->addScope('https://www.googleapis.com/auth/analytics.readonly'); // 设置已获取的用户access token $client->setAccessToken($用户的Access_Token); // 自动刷新过期的token(如果有refresh token的话) if ($client->isAccessTokenExpired()) { $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken()); // 可在此处更新保存的access token和refresh token } // 基于配置好的Google_Client创建GA4 Admin客户端 $ga4 = new AnalyticsAdminServiceClient([ 'credentials' => $client->getCredentials() ]); // 调用API获取账户列表 $accounts = $ga4->listAccounts(); foreach ($accounts as $account) { print 'Found account: ' . $account->getName() . PHP_EOL; }
关键说明
- 权限范围需匹配GA4 Admin API的要求,常用范围包括:
analytics.readonly:只读访问权限analytics.edit:编辑访问权限
- 若首次实现授权流程,需引导用户完成OAuth登录授权,获取授权码后兑换为access token和refresh token,这部分流程与UA v3的OAuth流程一致,仅需替换权限范围为GA4对应的即可
内容的提问来源于stack exchange,提问作者Erdss4
相关产品推荐
相关产品推荐

