Ich versuche, mich mit Facebook in Firebase anmelden. Facebook-Login funktioniert, aber Firebase wirft einen Fehler auf. BTW Google-Anmeldung funktioniert perfekt (ich habe GSI-Code entfernt, um es kürzer zu machen), so dass ich sehr bezweifle, dass das Problem in Firebase ist. Hier ist logsFehler 100 beim Anmelden mit Facebook in Firebase
08-30 11:43:43.091 25460-25460/com.kid.gl W/StartActivity: signInWithCredential
com.google.firebase.FirebaseException: An internal error has occured. [ 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":"GLp5H2ygSPb"}} ]
at com.google.android.gms.internal.zzafd.zzes(Unknown Source)
at com.google.android.gms.internal.zzafa$zzg.zza(Unknown Source)
at com.google.android.gms.internal.zzafl.zzet(Unknown Source)
at com.google.android.gms.internal.zzafl$zza.onFailure(Unknown Source)
at com.google.android.gms.internal.zzafg$zza.onTransact(Unknown Source)
at android.os.Binder.execTransact(Binder.java:446)
ich diesen Fehler für ca. 3 Stunden auf der Suche, und überall nur eine Lösung gefunden - deaktivieren „Secret einbetten in Client“ in Facebook Konsoleneinstellungen. Das hat überhaupt nichts bewirkt.
public class StartActivity extends AppCompatActivity
implements
View.OnClickListener,
FacebookCallback<LoginResult> {
private static final String TAG = "StartActivity";
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private CallbackManager callbackManager;
@SuppressWarnings("ConstantConditions")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_start);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null)
afterLogin();
else
logOut();
}
};
//Facebook login
callbackManager = CallbackManager.Factory.create();
LoginButton facebookButton = (LoginButton) findViewById(R.id.facebook_login);
facebookButton.setReadPermissions("public_profile", "email");
facebookButton.registerCallback(callbackManager, this);
LoginManager.getInstance().registerCallback(callbackManager,this);
}
@Override public void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override public void onStop() {
super.onStop();
if (mAuthListener != null)
mAuth.removeAuthStateListener(mAuthListener);
}
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
try { callbackManager.onActivityResult(requestCode, resultCode, data); }
catch (Exception e) { Log.wtf("сука блядь ", "ебучий фейсбук"); e.printStackTrace(); }
}
//Facebook login methods
@Override
public void onSuccess(LoginResult loginResult) {
//LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));
AuthCredential credential = FacebookAuthProvider.getCredential(loginResult.getAccessToken().getToken());
mAuth.signInWithCredential(credential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "signInWithCredential:onComplete:" + task.isSuccessful());
if (!task.isSuccessful()) {
Log.w(TAG, "signInWithCredential", task.getException()); //Exception is here
Toast.makeText(StartActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show();
}
}});
}
@Override public void onCancel() {}
@Override public void onError(FacebookException error) {
Toast.makeText(this, error.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
}
S.S .: Facebook SDK hinzugefügt mithilfe von Gradle, kann diese Ursache des Problems sein? Ein Teil build.gradle:
compile 'com.google.firebase:firebase-auth:9.4.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
Haben Sie facebook in Anmelde-Verfahren in Authentifizierung aktivieren? –
Sicher. App-ID und Secret wurden hinzugefügt. Ich habe alle Schritte von Facebook und Firebase-Tutor –
versucht dies - http://Stackoverflow.com/a/37522695/3774906 –