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

Google Play Console与Developer API关联失败,无法验证Flutter应用购买凭证

解决Google Play内购凭证验证403(projectNotLinked)问题

以下是你可能遗漏的关键点及对应修复步骤:

1. 确认OAuth2 Playground使用的是已关联的项目

OAuth2 Playground授权时,必须选择Play开发者控制台中已关联的Google Cloud项目,而非其他无关项目。很多时候会误选个人账号下的其他项目,导致调用时使用了未关联的Project ID。

  • 验证方式:在Play开发者控制台的「API访问」页面查看已关联的项目ID,然后在OAuth2 Playground的「Select & authorize APIs」环节,确保选择该项目对应的授权主体。

2. 检查服务账号的权限是否精准

服务账号必须拥有**「Google Play Android Developer」专属角色**,普通的Editor/Owner角色无法满足API调用需求:

  • 操作步骤:
    1. 打开Google Cloud控制台,进入已关联的项目,选择「IAM与管理员」→「IAM」。
    2. 找到目标服务账号,确认其角色列表包含「Google Play Android Developer」,若没有则添加该角色。
  • 注意:权限变更需等待10-15分钟生效,不要立即测试。

3. 核对请求URL的参数正确性

API URL中applications/[ProjectID]位置需要的是应用包名(即你用的com.myorg.myapp),而非Google Cloud项目ID,需确认:

  • 包名与Play开发者控制台中应用的包名完全一致,大小写、符号无误差。
  • 不要混淆Google Cloud项目ID(通常是字母数字组合,如myapp-12345)和应用包名。

4. 确认OAuth2授权范围正确

在OAuth2 Playground授权时,必须勾选https://www.googleapis.com/auth/androidpublisher权限范围,否则即使授权成功,也无法访问内购数据:

  • 操作步骤:在「Select & authorize APIs」环节,搜索并添加该权限范围后再完成授权流程。

5. 验证购买凭证的有效性

确保PurchaseToken真实有效,且对应当前应用和商品ID:

  • 若为测试购买凭证,需将测试账号添加到Play开发者控制台的「授权测试账号」列表,否则测试凭证会被拒绝。

6. 重新关联项目(极端同步问题)

若以上都确认无误,尝试先解除Play开发者控制台与Google Cloud项目的关联,等待5分钟后重新关联,再创建新服务账号并配置权限——有时关联过程会出现缓存同步问题,重新关联可解决。

测试建议

可以先用curl命令绕开OAuth2 Playground,直接用服务账号权限测试API:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.myorg.myapp/purchases/products/myapp.funds.five/tokens/TokenValueGoesHere

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:20:40