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

PlayGamesPlatform.RequestServerSideAccess返回空及ApiException:10错误求助

解决Play Games Server-Side Access返回ApiException:10及授权密钥为空问题

核心问题排查与修复步骤

1. 修正OAuth客户端类型错误

你当前创建的是Android类型OAuth客户端,但RequestServerSideAccess方法依赖的是Web应用类型的OAuth客户端ID——这是触发错误码10的最常见原因:

  • 登录Google Cloud Console的凭据页面,创建新的OAuth 2.0客户端ID,选择「Web应用」类型
  • 将该Web应用的客户端ID填入Unity的Window/Google Play Games/Setup/Android setup对应输入框
  • 同时在Google Play Console的游戏服务设置中,把这个Web客户端ID添加到「授权的客户端ID」列表

2. 确保SHA-1指纹完全匹配

构建APK使用的密钥库SHA-1必须与Google Console中配置的完全一致:

  • 重新生成当前构建密钥库的SHA-1:执行命令keytool -keystore [你的密钥库路径] -list -v,复制输出的SHA-1值(注意格式要和Console中的配置完全一致,是否带冒号统一即可)
  • 若使用Debug构建,确认使用的是C:\Users\USERNAME.android\debug.keystore的SHA-1,且该指纹已在Console中配置

3. 验证游戏服务与OAuth客户端的关联

  • 进入Google Play Console的游戏页面,找到「游戏服务」→「凭据」
  • 确认Web应用OAuth客户端ID和对应包名+SHA-1的Android客户端ID都已加入「授权的客户端ID」列表

4. 重新同步Unity插件配置

  • 打开Unity的Window/Google Play Games/Setup/Android setup,点击「Apply Setup」确保配置写入AndroidManifest.xml
  • 清理Unity项目的Library文件夹后重新构建,避免缓存导致的配置不生效

5. 代码层面完善错误捕获

调用RequestServerSideAccess时增加详细错误处理,便于定位问题:

PlayGamesPlatform.Instance.RequestServerSideAccess(false, (authCode, errorMsg) => {
    if (!string.IsNullOrEmpty(authCode)) {
        Debug.Log("授权密钥获取成功: " + authCode);
    } else {
        Debug.LogError("请求失败: " + errorMsg);
        if (errorMsg.Contains("ApiException: 10")) {
            Debug.LogError("错误码10通常表示OAuth客户端配置错误、权限不足或指纹不匹配");
        }
    }
});

额外验证项

  • 确保测试设备的Google Play服务为最新版本
  • 尝试使用正式签名的APK测试(Debug构建可能存在配置差异)
  • 检查Google Cloud Console中Web应用OAuth客户端的权限是否包含游戏服务相关授权

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:10:19