Java解密PlayIntegrity令牌时触发PERMISSION_DENIED错误求助
Play Integrity令牌解密403权限拒绝问题排查方案
先贴出你遇到的错误信息:
{ "code": 403, "errors": [ { "domain": "global", "message": "You are not authorized to decode the requested integrity token.", "reason": "forbidden" } ], "message": "You are not authorized to decode the requested integrity token.", "status": "PERMISSION_DENIED" }
以下是针对性排查步骤:
- 服务账号密钥与角色校验
确认使用的是Google Cloud控制台中Play Integrity API对应的服务账号JSON密钥,且该账号已被授予Play Integrity Decoder角色;检查密钥文件的client_email是否和Play Console中绑定的服务账号完全一致。 - 令牌合法性检查
待解密的令牌必须是目标应用客户端正常生成的,不能来自其他应用或被篡改;同时令牌有效期仅60分钟,过期令牌会直接返回权限错误。 - 项目关联与API状态
验证Google Cloud中启用Play Integrity API的项目,和Play Console中应用绑定的Cloud项目是同一个;确认Cloud项目已启用计费,未计费项目会被限制API调用。 - 请求参数校验
调用API时的packageName必须和应用包名完全匹配(大小写敏感);确保integrity_token是完整的原始字符串,无截断或额外字符。 - 权限生效延迟
服务账号角色分配后可能有10-15分钟的生效延迟,若刚配置完权限,等待一段时间再重试。
内容的提问来源于stack exchange,提问作者Dadaji
相关产品推荐
相关产品推荐

