尝试在Android中登录Google Game Services时出错403

时间:2015-02-21 08:29:28

标签: android code-signing

我正在尝试使用谷歌Android SDK,我收到了很多错误...... 我看到关于这个和任何其他错误的所有帖子仍然无法弄清楚这一点。 我查看了SH1,Google API,链接了我的应用,检查了app_id。

这是我的代码:

            mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_PROFILE)
                .addApi(Games.API).addScope(Games.SCOPE_GAMES)
                .build();

        @Override
        public void onStart() {
            super.onStart();
            mGoogleApiClient.connect();
        }

@Override
    public void onConnected(Bundle bundle) {
        System.out.println("Logged in");
    }

@Override
    public void onConnectionSuspended(int i) {
        mGoogleApiClient.connect();
    }

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        if (!mIntentInProgress && result.hasResolution()) {
            try {
                mIntentInProgress = true;
                startIntentSenderForResult(result.getResolution().getIntentSender(),
                        RC_SIGN_IN, null, 0, 0, 0);
            } catch (IntentSender.SendIntentException e) {
                // The intent was canceled before it was sent.  Return to the default
                // state and attempt to connect to get an updated ConnectionResult.
                mIntentInProgress = false;
                mGoogleApiClient.connect();
            }
        }
    }

    @Override
    public void onActivityResult(int requestCode, int responseCode, Intent intent) {
        super.onActivityResult(requestCode, requestCode, intent);
        if (requestCode == RC_SIGN_IN) {
            mIntentInProgress = false;

            if (!mGoogleApiClient.isConnecting()) {
                mGoogleApiClient.connect();
            }
        }
    }

    @Override
    public boolean isSignedIn() {
        return (mGoogleApiClient != null && mGoogleApiClient.isConnected());
    }

我得到的错误:

  

02-21 10:07:18.920 11247-11712 / com.google.android.gms E / Volley:[937]   a.a:意外的响应代码403   https://www.googleapis.com/games/v1/players/me?language=en_US 02-21   10:07:18.980 11247-17039 / com.google.android.gms   E / SignInIntentService:未配置访问权限。 API(Google Play   游戏服务API)未启用您的项目。请使用   Google Developers Console用于更新您的配置。       com.google.android.gms.games.h.c.a               在com.google.android.gms.games.h.b.a(SourceFile:153)               在com.google.android.gms.games.a.bj.d(SourceFile:1683)               在com.google.android.gms.games.a.bj.b(SourceFile:610)               在com.google.android.gms.games.a.bj.b(SourceFile:585)               在com.google.android.gms.games.a.t.d(SourceFile:824)               在com.google.android.gms.games.service.w.b(SourceFile:347)               在com.google.android.gms.games.service.s.a(SourceFile:47)               在com.google.android.gms.games.service.GamesSignInIntentService.onHandleIntent(SourceFile:499)               在android.app.IntentService $ ServiceHandler.handleMessage(IntentService.java:65)               在android.os.Handler.dispatchMessage(Handler.java:102)               在android.os.Looper.loop(Looper.java:136)               在android.os.HandlerThread.run(HandlerThread.java:61)02-21 10:07:18.985 17012-17012 / com.google.android.gms.ui   E / LoadSelfFragment:无法登录 - 应用程序没有   注册客户ID

我也陷入onActivityResultonConnectionFailed之间的循环中。我在onConnectionFailed中收到的错误代码是4。

任何人都知道它会是什么?

2 个答案:

答案 0 :(得分:0)

如果您的应用程序未正确链接到您的项目,则会出现此错误。请检查您是否已为调试版和发行版证书链接了SHA1指纹。

在我的情况下,当我使用Google API控制台(而不是google play开发者控制台)添加第二个SHA1指纹(发布版本)时出现此错误。

我建议在开发者控制台中删除您喜欢的应用,然后仅使用google play开发者控制台再次添加来管理SHA1密钥。按照此处的说明操作:

https://developers.google.com/games/services/console/enabling

答案 1 :(得分:0)

我找到了解决方案: 我将我的应用程序与错误的SHA1相关联......我使用了一些自定义键或类似的东西。我试图在我的设备上调试它并且它没有工作。

解决方案是从位于此处的调试密钥中提取SHA1 - >

  

C:\用户\ .android \ debug.keystore

然后将我的应用与其关联。