0

Facebookベースでサインインしようとしています。 Facebookのログインは機能しますが、Firebaseはエラーを投げます。 BTW Googleのサインインは完全に機能しています(私はGSIコードを削除してより短くしています)ので、Firebaseに問題があることは間違いありません。 Facebookのコンソール設定で「クライアントでの秘密の埋め込み」をオフにする - はここにログFacebookをFirebaseにログインしているときのエラー100

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) 

私は約3時間、そのエラーを検索し、どこにでも一つだけ解決策を見つけたです。それはまったく効果がありませんでした。

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(); 
} 
} 

P .: FacebookのSDKがgradleを使用して追加されました。問題の原因が考えられますか? build.gradleの一部は:

compile 'com.google.firebase:firebase-auth:9.4.0' 
compile 'com.facebook.android:facebook-android-sdk:[4,5)' 
+0

申し訳ありませんが、あなたが認証でSIGN-IN方式でのFacebookを有効にしましたか? –

+0

アプリIDとシークレットを追加しました。私はFacebookと火元ベースの家庭教師 –

+0

からすべてのステップを行った - http://stackoverflow.com/a/37522695/3774906 –

答えて

0

最後に、私は秘密の代わりにアプリのクライアントコードを使用していたこと、が分かった:D私の悪い、

+0

同じエラーが発生しました。 – Bikash

+0

FirebaseConsoleの@bikash –

0

ほとんどの場合、あなたのFacebookアプリは、まだあなたが明示的にそれへのアクセス権を持つユーザーを追加しなければならないことを意味開発モードになるように設定されています。

  1. テスターの下にアプリ左側のメニューで役割
  2. クリックを選択
  3. をdevelopers.facebook.comに行く次のことができるようにするユーザーのFacebookのIDを追加します

    012:また

にログインするには、アプリを公開することができます左側のメニューで

  1. をdevelopers.facebook.comに行くあなたのアプリを選択
  2. クリックアプリレビュー
  3. 下のスライダーを設定叫び声を公開してください?
  4. はい から
+0

私はすでにパブリックに設定されていますが、残念ながら –

+0

となりました。管理者として設定されたアカウントでテストしています –

関連する問題