gpt4 book ai didi

android - 使用 Firebase Auth : Developer Error 登录 Facebook

转载 作者:行者123 更新时间:2023-12-02 10:27:50 27 4
gpt4 key购买 nike

我使用自定义布局在 Android 应用中实现使用 Firebase Auth 登录 Facebook。 Facebook 将图形 API 从 3.2 升级到 4.4 后,出现开发人员错误。我遵循完整的过程。创建项​​目到 Firebase 和 Facebook 开发者控制台。在 Firebase 身份验证中启用 Facebook 登录,将应用程序 ID 和应用程序 key 添加到 Firebase 。获取宣誓 URL 并添加到 Facebook 控制台。还为 Facebook 生成 Openssl SHA 并添​​加到其中。这是我的依赖项:

implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-core:16.0.9'
implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.firebaseui:firebase-ui-database:4.3.1'
implementation 'com.facebook.android:facebook-android-sdk:5.0.0'
implementation "com.google.android.gms:play-services-auth:17.0.0"

这是我所做的代码:

 AuthMethodPickerLayout customLayout = new AuthMethodPickerLayout
.Builder(R.layout.activity_main)
.setGoogleButtonId(R.id.ll_google)
.setFacebookButtonId(R.id.ll_facebook)
.setEmailButtonId(R.id.ll_email)
// ...
//.setTosAndPrivacyPolicyId(R.id.baz)

.build();
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build());


AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false)
.setLogo(R.drawable.icon)
.setAuthMethodPickerLayout(customLayout)
.setTosAndPrivacyPolicyUrls("https://mybrandfitness.com/terms-conditions",
"https://mybrandfitness.com/privacy-policy")
.build();

llFacebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AuthUI.IdpConfig facebookIdp = new AuthUI.IdpConfig.FacebookBuilder()
.setPermissions(Arrays.asList("email", "public_profile"))
.build();

startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(Arrays.asList(facebookIdp))
.build(),
RC_SIGN_IN);
}
});

它给了我以下错误:

E/AuthUI: A sign-in error occurred.
com.firebase.ui.auth.FirebaseUiException: Developer error
at com.firebase.ui.auth.util.data.ProviderUtils$1.then(ProviderUtils.java:219)
at com.firebase.ui.auth.util.data.ProviderUtils$1.then(ProviderUtils.java:195)
at com.google.android.gms.tasks.zzf.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

任何建议将不胜感激..谢谢

最佳答案

首先,打开ProviderUtils.java:219,您将看到登录成功,但它引发了以下情况的异常:现有用户仅具有不受支持的登录方法。

if (task.isSuccessful() && lastSignedInProviders.isEmpty()
&& !methods.isEmpty()) {
// There is an existing user who only has unsupported sign in methods
return Tasks.forException(new FirebaseUiException(ErrorCodes
.DEVELOPER_ERROR));
}

所以,我猜想您用于签名的电子邮件(您的 Facebook 帐户)之前曾使用其他登录方法(例如:用户名和密码)登录您的应用程序。

  • 尝试使用其他 Facebook 帐户看看是否有效
  • 删除该电子邮件地址的帐户,然后重试

关于android - 使用 Firebase Auth : Developer Error 登录 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58387984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com