You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GA4数据获取报错invalid_grant:Invalid JWT Signature求助

排查GA4 Data API调用的"Invalid JWT Signature"错误

以下是针对你遇到的invalid_grant/Invalid JWT Signature错误的排查方向和修复方案:

1. 错误的API权限范围(Scope)

你的代码中使用了UA(Universal Analytics)的权限范围AnalyticsReporting::ANALYTICS_READONLY,但GA4 Data API需要专用的范围:

// 替换原Scope配置
$client->setScopes([
    Google_Service_AnalyticsData::ANALYTICS_DATA_READONLY
]);

UA的权限范围无法用于GA4的Data API请求,这是导致JWT签名验证失败的核心原因之一。

2. 禁用SSL验证的风险

代码中关闭了SSL验证'verify' => false,这会破坏Google API的安全验证流程,可能导致JWT签名无法被正确校验。请移除这部分配置,确保服务器能正常验证SSL证书:

// 移除以下代码块
// $httpClientConfig = [
//     'verify' => false, // This disables SSL verification
// ];
// $httpClient = new Client($httpClientConfig);
// $client->setHttpClient($httpClient);

如果服务器缺少CA证书,可配置正确的CA证书路径,而非直接禁用验证。

3. GA4维度名称错误

你使用了UA风格的ga:country作为维度名,GA4的维度不需要ga:前缀,应改为:

$dimension->setName('country');

虽然这不是当前JWT错误的直接原因,但会导致后续报表请求返回数据异常。

4. 服务账号密钥文件验证

  • 确认account-key.json文件路径正确,使用__DIR__时要确保文件确实在当前脚本的目录下
  • 打开密钥文件,检查JSON格式是否完整,没有缺失字符或多余空格(复制粘贴时容易出现这类问题)
  • 确认密钥文件是从Google Cloud控制台重新下载的最新版本,避免使用已过期或被篡改的文件

5. 服务账号权限确认

虽然你提到已配置管理员角色,仍需再次确认:

  • 服务账号的邮箱已添加到GA4属性的「权限管理」中,角色为「查看者」或更高(管理员权限没问题)
  • 权限已生效(添加后可能需要等待几分钟同步)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:11:16