Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:FirebaseAuth-来自Facebook的调试令牌响应失败_Java_Android_Facebook_Firebase Authentication_Facebook Login - Fatal编程技术网

Java Android:FirebaseAuth-来自Facebook的调试令牌响应失败

Java Android:FirebaseAuth-来自Facebook的调试令牌响应失败,java,android,facebook,firebase-authentication,facebook-login,Java,Android,Facebook,Firebase Authentication,Facebook Login,我正在尝试使用firebase为我的应用程序创建Facebook登录方法。我设置了我的Facebook应用程序和sdk。 登录Facebook工作正常。。问题是当Firebase尝试使用凭据登录时,身份验证失败。我还没有找到任何有效的解决方案。这是我的日志: signInWithCredential:failure com.google.firebase.FirebaseExce

我正在尝试使用firebase为我的应用程序创建Facebook登录方法。我设置了我的Facebook应用程序和sdk。 登录Facebook工作正常。。问题是当Firebase尝试使用凭据登录时,身份验证失败。我还没有找到任何有效的解决方案。这是我的日志:

signInWithCredential:failure
                                                           com.google.firebase.FirebaseException: An internal error has occurred. [ Unsuccessful debug_token response from Facebook:{"error":{"message":"(#100) You must provide an app access token or a user access token that is an owner or developer of the app","type":"OAuthException","code":100,"fbtrace_id":"CnaYlxG66lv"}} ]
                                                               at com.google.android.gms.internal.zzdxm.zzao(Unknown Source)
                                                               at com.google.android.gms.internal.zzdwn.zza(Unknown Source)
                                                               at com.google.android.gms.internal.zzdxx.zzap(Unknown Source)
                                                               at com.google.android.gms.internal.zzdya.onFailure(Unknown Source)
                                                               at com.google.android.gms.internal.zzdxo.onTransact(Unknown Source)
                                                               at android.os.Binder.execTransact(Binder.java:573)
这是我的密码:

Facebook按钮和CallbackManager:

Firebase handleFacebookAccessToken:

Firebase控制台Facebook登录方法:

Facebook应用程序基本设置:

Facebook应用程序高级设置:

客户端OAuth设置:

密钥散列:


我想这就是一切,如果有什么别的事情,只要告诉我,我会更新我的答案,谢谢

尝试更新onClick函数中的函数。我测试了下面的方法并登录。我想我和firebase还有另外一个问题

this.fbLoginManager.registerCallback(this.callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.v("Main", response.toString());
                    setProfileToView(object);
                }
            });
            Bundle parameters = new Bundle();
            parameters.putString(GraphRequest.FIELDS_PARAM, "id, name, email, gender, birthday, picture.type(large)");
            request.setParameters(parameters);
            request.executeAsync();
        }



        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {
            Toast.makeText(LoginActivity.this.getApplicationContext(), error.toString(), Toast.LENGTH_SHORT).show();
        }

    });

我已经设法解决了我的问题,出于某些原因,我禁用了我的旧Facebook帐户,但我必须创建一个新的登录应用程序,所以我在一个新的Facebook acc中这样做了,我从我的应用程序登录过程中获得了密钥哈希,我确保所有设置都正确,所以是的,它现在可以工作了。谢谢你拿到了a+1;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
private void handleFacebookAccessToken(AccessToken token) {
Log.d(TAG, "handleFacebookAccessToken:" + token);

AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
        .addOnCompleteListener(SignUp.this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {

                    Log.d(TAG, "signInWithCredential:success");
                    Toast.makeText(SignUp.this,"Logged in", Toast.LENGTH_LONG).show();

                } else {
                                                Log.w(TAG, "signInWithCredential:failure", task.getException());
                    Toast.makeText(SignUp.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                }

                // ...
            }
        });
}
buildscript {

repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.0'
}
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven {
    url "https://maven.google.com" // Google's Maven repository
}
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
this.fbLoginManager.registerCallback(this.callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.v("Main", response.toString());
                    setProfileToView(object);
                }
            });
            Bundle parameters = new Bundle();
            parameters.putString(GraphRequest.FIELDS_PARAM, "id, name, email, gender, birthday, picture.type(large)");
            request.setParameters(parameters);
            request.executeAsync();
        }



        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {
            Toast.makeText(LoginActivity.this.getApplicationContext(), error.toString(), Toast.LENGTH_SHORT).show();
        }

    });