Google Drive Android API OAuth身份验证问题 - onActivityResult返回"0"

kan*_*udo 3 java authentication android oauth-2.0 google-drive-android-api

我只是想为Android Drive API进行身份验证.

我从Android Studio生成签名APK.该帐户经过身份验证,Google Drive API身份验证与此生成的APK完美配合.

现在,当我将相同的APK上传到Play Console中的内部测试时.然后验证失败.

__现在这就是我完成这一切的方式___

1)在Android Manifest中添加了以下内容

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Run Code Online (Sandbox Code Playgroud)

2)像这样实现了身份验证

public abstract class AuthActivityStackOverflow extends BaseActivity {

    protected static final int GOOGLE_SIGN_IN_REQUEST_CODE = 1;

    public void signIn() {
        startActivityForResult( getGoogleSignInClient().getSignInIntent(), GOOGLE_SIGN_IN_REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == GOOGLE_SIGN_IN_REQUEST_CODE) {
            if (resultCode == RESULT_OK) {
                onSignInSuccess(GoogleSignIn.getLastSignedInAccount(this), requestCode);
                showMessage("Account Linked Successfully");
            } else { onSignInFailed(); }
        }
    }

    protected GoogleSignInClient getGoogleSignInClient(){
        GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestScopes(Drive.SCOPE_APPFOLDER)
                .requestEmail()
                .build();
        return GoogleSignIn.getClient(this, signInOptions);
    }
}
Run Code Online (Sandbox Code Playgroud)

3)我生成了调试密钥SHA1并使用API​​控制台注册了凭据,然后测试了应用程序.它在这里工作.(onActivityResult返回RESULT_OK)

4)现在我生成了生产密钥SHA1并使用API​​控制台注册了凭据,并从Android Studio生成了最终签名的APK并在我的物理设备上进行了测试.它还在工作.(onActivityResult返回RESULT_OK)

5)现在我在Play Console中将此最终制作APK发布到内部测试.

6)现在我下载这个应用程序并运行此身份验证.它失败了,现在它不起作用了.(onActivityResult返回"0")

我有什么遗失的吗?

jes*_*ess 5

有一种方法可以使用Google Drive API 授权您的Android应用.

由于与Google Play服务集成, Android上的授权请求与其他授权工作流程不同.

与其他工作流程不同,Android上的授权使用SHA1 指纹和包名称来识别您的应用而不是client IDclient secret.

您必须遵循正确的授权流程才能在Play控制台中测试您的APK.

以下是生成签名证书指纹和注册您的申请的指南.