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

解码Play Integrity令牌时遭遇403权限拒绝问题求助

解决Play Integrity服务端decodeIntegrityToken 403 PERMISSION_DENIED问题

以下是针对该权限拒绝问题的具体排查和解决步骤:

  • 添加必要的IAM角色
    你的服务账号当前仅拥有roles/iam.serviceAccountUser和roles/serviceusage.serviceUsageConsumer,这两个角色不足以完成完整性令牌解码操作。必须给服务账号添加Play Integrity Decoder角色(roles/playintegrity.decoder):

    1. 打开Google Cloud Console,进入关联的项目
    2. 进入「IAM与管理员」→「IAM」页面
    3. 找到目标服务账号,点击编辑按钮
    4. 点击「添加另一个角色」,搜索并选择「Play Integrity > Play Integrity Decoder」
    5. 保存更改,等待5-10分钟让权限生效
      也可以通过CLI直接添加:
    gcloud projects add-iam-policy-binding <google-cloud-project-name> \
      --member="serviceAccount:<service-acct-name>" \
      --role="roles/playintegrity.decoder"
    
  • 核对项目关联一致性

    • 确认Android端代码中setCloudProjectNumber传入的项目编号,是Play Console中应用绑定的Google Cloud项目编号
    • 确认服务端使用的credentials.json,属于同一个绑定Cloud项目下的服务账号
    • 检查Play Console中应用的「App integrity」设置,确保已启用Play Integrity功能,且关联的Cloud项目无误
  • 验证请求中的appId正确性
    服务端调用decodeIntegrityToken(appId, decodeRequest)时,appId必须是应用的完整包名(例如com.example.myapp),且与Play Console中注册的应用包名完全一致,大小写、拼写都不能出错

  • 确认权限范围设置
    确保服务端代码中createScoped(PlayIntegrityScopes.PLAYINTEGRITY)这一行没有被注释或遗漏,该范围是调用Play Integrity API的必要条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:53:38