配置GCP服务账户调用Google Play Developer API遇401错误排查
排查Google Play Developer API 401错误的额外差异点
- 密钥文件有效性:确认代码加载的是新生成的完整密钥文件,检查文件路径是否正确、内容是否完整(比如复制时有没有遗漏字符)。旧密钥能正常工作,新密钥可能因文件损坏或路径错误导致签名验证失败。
- API启用状态:核对新服务账户所属GCP项目中,Google Play Developer API是否处于启用状态。虽同属一个项目,但仍需确认未因误操作关闭API。
- 权限同步延迟:新服务账户添加到Play控制台API访问后,权限同步可能存在10-30分钟甚至更久的延迟,需等待足够时间后再测试。
- 服务账户邮箱匹配:确认代码中配置的服务账户邮箱与新创建的完全一致,避免拼写错误、大小写偏差(部分SDK可能严格校验格式)。
- OAuth2作用域正确性:检查请求的OAuth2作用域是否为Google Play Developer API要求的
https://www.googleapis.com/auth/androidpublisher,确保与旧账户使用的作用域完全一致,无遗漏或拼写错误。 - 密钥格式与代码兼容:新生成的密钥若为JSON格式,需确认代码逻辑是处理JSON密钥;若为P12格式,需对应使用P12的加载逻辑,避免格式不匹配导致认证失败。
- 组织级权限限制:若GCP项目归属企业组织,需排查组织级IAM政策(如权限边界、否决规则)是否限制了新服务账户的权限,对比旧账户是否不受此类限制。
- 应用包名匹配:在Play控制台配置API访问时,确认给新账户授权的应用包名与代码请求的包名完全一致,包名区分大小写,需严格匹配。
- 账户安全限制:检查GCP或Play控制台的安全设置,确认新服务账户未被误加入黑名单或触发安全限制规则。
- 认证逻辑一致性:对比新旧账户的代码实现,确保认证流程完全一致,未因SDK版本升级、代码改动导致认证逻辑出现差异(如JWT令牌生成、令牌刷新逻辑)。
内容的提问来源于stack exchange,提问作者dr11
相关产品推荐
相关产品推荐

