无法创建拥有Google Play Android Developer API权限的GCP服务账户
解决Google Play Android Developer API内购验证权限拒绝问题
核心问题定位
你遇到的权限拒绝问题,核心误区是Android Publisher API的核心权限不在GCP IAM配置,而是在Google Play Console中授权——你要找的roles/androidpublisher.developer是Play Console中的权限角色,并非GCP的IAM角色。
分步解决步骤
1. 关联GCP项目与Play Console(必做)
如果GCP项目还未和Play Console绑定,先完成这一步:
- 打开Google Play Console,进入你的应用
- 左侧菜单选择「设置」→「API访问」
- 在「链接的Google Cloud项目」区域,选择已启用Android Developer API的GCP项目完成关联
2. 在Play Console给服务账户授权内购验证权限
- 打开Play Console → 你的应用 → 左侧菜单「用户和权限」
- 点击「邀请新用户」,输入服务账户邮箱(格式:
xxx@xxx.iam.gserviceaccount.com) - 权限选择:
- 仅需验证内购的话,选「查看应用内购买和订阅数据」(最小权限原则)
- 需要更多操作的话,选「开发者」角色(对应你要的
androidpublisher.developer权限)
- 发送邀请,系统会自动完成服务账户的权限配置
3. 清理GCP中无关权限
你之前添加的Consumer Procurement Order Administrator、Financial Services Admin等权限和内购验证完全无关,建议从GCP IAM中移除,避免混淆。
4. 等待权限生效
Play Console的权限变更通常需要15-30分钟同步到API,不要刚配置完就测试。
代码确认
你的客户端初始化和调用代码是正确的:
- 明确指定
keyFile避免和GOOGLE_APPLICATION_CREDENTIALS冲突,做法正确 - scopes使用
https://www.googleapis.com/auth/androidpublisher符合要求 - 调用
purchases.products.get的参数格式正确
额外排查点
如果仍报错:
- 确认服务账户的JSON密钥文件是正确下载的,未被修改
- 验证
packageName、productId、purchaseToken参数完全正确(注意包名大小写、token无空格) - 再次确认Google Play Android Developer API在GCP项目中处于启用状态
内容的提问来源于stack exchange,提问作者Pradeep
相关产品推荐
相关产品推荐

