基于Android的Facebook登录Firebase出现问题-E/GraphResponse

基于Android的Facebook登录Firebase出现问题-E/GraphResponse,android,Android,我正在尝试在Firebase上使用facebook创建登录活动,但当我尝试登录时,会显示“身份验证失败”,我收到以下错误: E/GraphResponse:{HttpStatus:400,错误代码:100,子错误代码:33,错误类型:GraphMethodException,错误消息:不支持获取 请求。ID为“XXXXXXXXXXXXX”的对象不存在,无法删除 由于缺少权限而加载,或不支持此操作 这是我的代码: @Override protected void onCreate

我正在尝试在Firebase上使用facebook创建登录活动,但当我尝试登录时,会显示“身份验证失败”,我收到以下错误:

E/GraphResponse:{HttpStatus:400,错误代码:100,子错误代码:33,错误类型:GraphMethodException,错误消息:不支持获取 请求。ID为“XXXXXXXXXXXXX”的对象不存在,无法删除 由于缺少权限而加载,或不支持此操作

这是我的代码:

         @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mAuth = FirebaseAuth.getInstance();
    mCallbackManager = CallbackManager.Factory.create();
}

private void updateUI() {

    Toast.makeText(MainActivity.this, "Logado!", Toast.LENGTH_LONG).show();

    Intent intent = new Intent(MainActivity.this, ScreenActivity.class);
    startActivity(intent);

}

     public void fbClicked(View view) {

    fbButton = findViewById(R.id.facebookButton);
    fbButton.setEnabled(false);
    LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("email", "public_profile"));
    LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Log.d(TAG, "facebook:onSuccess:" + loginResult);
            handleFacebookAccessToken(loginResult.getAccessToken());
        }

        @Override
        public void onCancel() {
            Log.d(TAG, "facebook:onCancel");
        }

        @Override
        public void onError(FacebookException error) {
            Log.d(TAG, "facebook:onError", error);
        }
    });
}

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    mCallbackManager.onActivityResult(requestCode, resultCode, data);
    super.onActivityResult(requestCode, resultCode, data);
}

 private void handleFacebookAccessToken(AccessToken token) {
        Log.d(TAG, "handleFacebookAccessToken:" + token);

        AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            // Sign in success, update UI with the signed-in user's information
                            Log.d(TAG, "signInWithCredential:success");
                            FirebaseUser user = mAuth.getCurrentUser();
                            fbButton.setEnabled(true);

                            updateUI();
                        } else {
                            // If sign in fails, display a message to the user.
                            Log.w(TAG, "signInWithCredential:failure", task.getException());
                            Toast.makeText(MainActivity.this, "Authentication failed.",
                                    Toast.LENGTH_SHORT).show();

                            fbButton.setEnabled(true);

                        }

                    }
                });
}
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth=FirebaseAuth.getInstance();
mCallbackManager=CallbackManager.Factory.create();
}
私有void updateUI(){
Toast.makeText(MainActivity.this,“Logado!”,Toast.LENGTH_LONG.show();
意向意向=新意向(MainActivity.this、ScreenActivity.class);
星触觉(意向);
}
单击的公共无效FBI(视图){
fbButton=findViewById(R.id.facebookButton);
fbButton.setEnabled(错误);
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this、Arrays.asList(“电子邮件”、“公共配置文件”);
LoginManager.getInstance().registerCallback(mCallbackManager,new FacebookCallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
Log.d(标签“facebook:onSuccess:+loginResult”);
handleFacebookAccessToken(loginResult.getAccessToken());
}
@凌驾
公开作废{
Log.d(标签“facebook:onCancel”);
}
@凌驾
public void onError(facebook异常错误){
Log.d(标签“facebook:onError”,错误);
}
});
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
onActivityResult(请求代码、结果代码、数据);
super.onActivityResult(请求代码、结果代码、数据);
}
私有无效handleFacebookAccessToken(AccessToken令牌){
Log.d(标记“handleFacebookAccessToken:”+token);
AuthCredential credential=FacebookAuthProvider.getCredential(token.getToken());
mAuth.SIGNWITH凭证(凭证)
.addOnCompleteListener(这是新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//登录成功,使用登录用户的信息更新UI
Log.d(标记“signInWithCredential:success”);
FirebaseUser=mAuth.getCurrentUser();
fbButton.setEnabled(真);
updateUI();
}否则{
//如果登录失败,则向用户显示消息。
w(标记“signInWithCredential:failure”,task.getException());
Toast.makeText(MainActivity.this,“身份验证失败”,
吐司。长度(短)。show();
fbButton.setEnabled(真);
}
}
});
}
}

如果您确信已正确完成以下所有文档,则问题可能不在您这边。今天Facebook宣布他们受到黑客攻击,可能有很多用户的数据泄露,所以,我只是猜测,可能他们暂时中止了一些行动。