不使用Composer,通过PHP连接GA4 Google Analytics Data API及Google客户端
无需Composer使用Google API PHP客户端调用API获取统计数据
步骤1:解压客户端包
把你下载的Google API PHP客户端ZIP包,解压到PHP项目的合适目录下(比如创建google-client子目录存放所有解压文件)。
步骤2:添加类自动加载逻辑
因为没有用Composer,需要手动处理类的加载。客户端的类遵循PSR-4规范,你可以在代码开头添加以下自动加载函数:
spl_autoload_register(function ($className) { $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; // 替换成你的客户端src目录实际路径 $clientSrcPath = __DIR__ . '/google-client/src/'; if (file_exists($clientSrcPath . $fileName)) { require $clientSrcPath . $fileName; } });
步骤3:准备API凭据
- 登录Google Cloud控制台,创建项目并启用你需要的统计类API(比如Google Analytics API)。
- 创建服务账号,生成并下载JSON格式的密钥文件,将其放到项目目录中(注意:不要把密钥文件放在Web可直接访问的目录,避免泄露)。
步骤4:编写API调用代码
以下是一个调用Google Analytics获取基础统计数据的示例(根据你需要的API调整对应服务类):
<?php // 先引入自动加载函数(上面步骤2的代码) spl_autoload_register(function ($className) { $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; $clientSrcPath = __DIR__ . '/google-client/src/'; if (file_exists($clientSrcPath . $fileName)) { require $clientSrcPath . $fileName; } }); // 初始化Google客户端 $client = new Google\Client(); $client->setApplicationName('你的应用名称'); // 加载服务账号密钥文件 $client->setAuthConfig(__DIR__ . '/your-service-account-key.json'); // 设置API权限范围(以Analytics只读权限为例) $client->addScope(Google\Service\Analytics::ANALYTICS_READONLY); // 创建Analytics服务实例 $analytics = new Google\Service\Analytics($client); // 调用API获取数据 try { $profileId = 'ga:你的视图ID'; // 替换成你的实际视图ID $startDate = '7daysAgo'; $endDate = 'today'; $metrics = 'ga:sessions,ga:pageviews'; // 要获取的统计指标 $results = $analytics->data_ga->get( $profileId, $startDate, $endDate, $metrics ); // 输出统计结果 if ($results->getRows()) { echo '<h3>站点统计数据</h3>'; echo '<ul>'; foreach ($results->getRows() as $row) { echo "<li>会话数:{$row[0]},页面浏览数:{$row[1]}</li>"; } echo '</ul>'; } else { echo '未获取到统计数据'; } } catch (Exception $e) { echo "API调用出错:{$e->getMessage()}"; } ?>
注意事项
- 确保服务器PHP版本满足客户端要求(建议PHP 7.4及以上)。
- 服务器需开启
openssl、curl等扩展,否则无法正常调用HTTPS API。 - 若使用GA4(Google Analytics 4),需替换为
Google\Service\AnalyticsData服务类,并调整API调用逻辑。 - 密钥文件权限需设置为仅服务器可读,禁止公开访问。
内容的提问来源于stack exchange,提问作者user8519630
相关产品推荐
相关产品推荐

