首页 > 解决方案 > 请求密钥时出现 IOException:使用 Google 登录时设备密钥响应无效

问题描述

我正在开发一个 android 应用程序,它使用用户的 Google Drive 来备份几个文件。下图显示它正在工作,API 到目前为止有 43 个请求。

API 请求

直到几天前一切正常,现在我无法通过 Goole 登录屏幕。

我读过其他一些帖子,说开发者控制台上注册的 API 密钥可能与我的密钥库中的密钥不同,但我已经多次检查了所有内容,一切似乎都是正确的。我真的不知道还能去哪里看。

这是登录代码:

private void requestSignIn() {
        Log.d(TAG, "Requesting sign-in");

        GoogleSignInOptions signInOptions =
                new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                        .requestEmail()
                        .requestScopes(new Scope(DriveScopes.DRIVE_FILE))
                        .build();
        client = GoogleSignIn.getClient(this, signInOptions);
        if (client.getSignInIntent() == null) {
            // The result of the sign-in Intent is handled in onActivityResult.
            startActivityForResult(client.getSignInIntent(), REQUEST_CODE_SIGN_IN);
        }
    }

在这里,在 onActivityResult

case REQUEST_CODE_DOWNLOAD_BACKUP:
                if (resultCode == Activity.RESULT_OK && resultData != null) {
                    handleSignInResult(resultData);
                    if (driveBackupService != null) {
                        driveBackupService.restoreBackup(this);
                    }
                }
                break;

我收到的 resultCode 是 0(即 RESULT_CANCELLED),它应该是 -1(RESULT_OK)

在开发者控制台上注册的 SHA-1 密钥确实属于我用来签署我的应用程序的密钥,所以我真的不知道还有谁应该责备这里。

标签: androidgoogle-drive-apigoogle-signin

解决方案


推荐阅读