有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Firebase一直在服务器配置中抛出OAuth2客户端id未找到

我试图使用Firebase将我的谷歌用户登录到我的应用程序中,但每次我使用以下方法时,都会出现以下错误:An internal error has occured. [ OAuth2 client id in server configuration is not found. ]。我已经从开发者控制台获得了我的客户端ID密钥,我在请求令牌中使用的是web客户端ID,而不是Android。有什么想法吗

这是我的代码:

  private void firebaseAuthWithGoogle(final GoogleSignInAccount acct) {

        final AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {


                        if (!task.isSuccessful()) {

                            Toast.makeText(Login.this, "Oops, something went wrong with your login.  Please try again.",
                                    Toast.LENGTH_SHORT).show();

                        }

                        else{


                            Intent i = new Intent(Login.this, FindOpp.class);
                            startActivity(i);
                        }

                    }
                });
    }

共 (3) 个答案

  1. # 2 楼答案

    jirungaray的答案是正确的,您不应该只在API控制台中生成自己的密钥。然而,如果你和我一样,在胡闹的时候删除了你的钥匙,你可以解决这个问题

    在firebase中,转到Authentication->Sign in Method->Google->Web SDK Configuration在这里,您可以将密钥和密码更改为所需的值

  2. # 3 楼答案

    Firebase的默认配置使用这些服务。从firebase控制台(而不是云控制台)发布的json。在Firebase控制台上创建项目时,自动配置Oauth设置,因此不应使用手动创建的任何其他键

    有服务。应用程序的模块root dir上的json应该是调用FirebaseAuth.signInWithCredential所需的一切。不需要手动Oauth设置