调用Google Play AndroidPublisher API时遇Unauthorized错误:服务账号权限不足
嘿,我之前踩过一模一样的坑!你现在在Google Cloud里给服务账号加的那些角色(Service Account Token Creator、Viewer、Editor)其实只是Google Cloud层面的权限,Google Play Console那边还有单独的权限关联步骤,这是绝大多数人漏掉的关键环节!
我给你梳理下必须补做的操作:
关联服务账号到Google Play Console
- 打开你的Google Play Console,进入目标应用的管理页面
- 左侧菜单找到【用户和权限】,点击进入
- 切换到【邀请新用户】选项卡
- 在输入框里填入你服务账号的完整邮箱(就是Google Cloud里生成的那种
xxx@xxx.iam.gserviceaccount.com格式的邮箱) - 这里不用先选“角色”,直接点【权限】去配置具体权限
配置Play Console侧的必要权限
- 因为你要访问订阅和购买数据,至少要勾选这两个核心权限:
- 查看应用所有数据:确保能访问应用的基础元数据
- 查看财务数据:获取购买、订阅的核心业务数据
- 如果后续需要修改订阅状态或处理退款,再按需添加更高级的权限,比如【管理订单】之类的
- 因为你要访问订阅和购买数据,至少要勾选这两个核心权限:
等待权限同步并验证
- 提交邀请后不用手动“接受”(服务账号没法操作这个),Google的权限系统大概需要15-30分钟同步,别着急马上测试
- 同时再检查下你的代码:有没有正确加载服务账号的JSON密钥文件?调用API时的包名、订阅ID、购买Token有没有拼写错误?这些小细节也可能伪装成“权限不足”的错误
另外再提个容易忽略的点:如果你的Google Cloud项目和Play Console账号不属于同一个组织,一定要确认服务账号的邮箱没有填错,跨账号场景下邮箱必须完全匹配才能关联成功。
内容来源于stack exchange
相关产品推荐
相关产品推荐

