login错误:将您login到此应用程序时出错。 请稍后再试

我得到这个错误。 当我尝试用Facebooklogin到我的应用程序。 当我第一次authentication它会正确工作。 我unistalled我的应用程序,现在试图login与Facebook上,我得到这个错误。

另一个问题 :在device1身份validation后,尝试login与设备2上的Facebook也同样的错误越来越。

我发现的解决scheme:当我从Facebook应用程序设置中删除应用程序authentication,它正在上面的情况下工作,但这不是一个好的解决scheme,我们可以告诉用户做这个动作?

btnFbLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(accessToken != null) { boolean expires = accessToken.isExpired(); if(!expires) { performFbLoginOrSignUp(accessToken); } } else { LoginButton loginButton = (LoginButton) findViewById(R.id.login_button); callbackManager = CallbackManager.Factory.create(); if (loginButton != null) { loginButton.setReadPermissions("public_profile", "email", "user_friends"); if (CommonUtil.isConnectingToInternet(LoginActivity.this)) { loginButton.performClick(); loginButton.setPressed(true); loginButton.invalidate(); loginButton.registerCallback(callbackManager, mCallBack); loginButton.setPressed(false); loginButton.invalidate(); } } } } }); 

错误页面

在Facebook的例子中也有一个问题: Facebook实例的GitHub链接

重现步骤

  1. 启动应用程序loginFacebook身份validationFBconfiguration文件。

  2. 卸载应用程序并重新安装。

  3. 现在尝试用Facebooklogin。

  4. 上述错误将会发生。 因为我们已经authentication所以需要访问fbconfiguration文件。 但在这里我们面临的问题。
  5. 这里已经authentication的页面没有显示。
  6. 我正在使用设备小米红米注3的本机FB应用程序

我也面临这个问题。更新你的关键散列在Facebook上

这是Facebook的问题。 Facebook团队确认。

在这里输入图像说明

我们会在3天内做出预期的解决scheme

发生此问题是因为您已通过Facebookvalidation应用程序,并且您的代码可能包含每次Facebook(查找和删除)validation。

按着这些次序:

  1. 转到Facebook设置。

  2. 删除你的应用。

  3. 确保您在Facebook开发者页面中添加了Facebooklogin,并且已经启用了客户端OAuthlogin。

  4. 转到您的代码并重写callback方法:

     @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Intent secondActivityIntent = new Intent(this, RedirectActivity.class); startActivity(secondActivityIntent); } } 
  5. 在Oncreate方法中,调用AccessToken:

     accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged( AccessToken oldAccessToken, AccessToken currentAccessToken) { // Set the access token using // currentAccessToken when it's loaded or set. } }; // If the access token is available already assign it. accessToken = AccessToken.getCurrentAccessToken(); if (accessToken != null && !accessToken.isExpired()) { GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(JSONObject object, GraphResponse response) { if(null != object) { try { Intent i = new Intent(MainActivity.this, Feedback.class); startActivity(i); String email = object.getString("email"); String birthday = object.getString("birthday"); } catch (Exception ex) { Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_SHORT).show(); } } else { // call your authentication process } } }); Bundle parameters = new Bundle(); parameters.putString("fields", "id,name,birthday,link"); request.setParameters(parameters); request.executeAsync(); } 

我在Redmi Note 3上遇到同样的问题。在Samsung上testing。 没问题。 不知道它是否是Redmi特有的。

我面临同样的问题。 我完全定义了我的keyhashes,仍然面临同样的问题。 即使是第一次,我也无法login。

解决我的问题是:

  1. 转到您的应用程序的仪表板

  2. 在左侧窗格的“产品”标签下,确保已添加Facebooklogin。 如果没有,请将其添加到那里。

如果你所有的其他configuration都有的话。 它在那之后完美地工作。

对我来说问题是真正的哈希键,这是无效的。

我有完全相同的问题,这是很难诊断。 原因是Facebook在第一次login时并没有检查散列键,似乎键是正确的,但事实并非如此。 其次,这个错误信息简直就是一个痴迷者。 第三是解决scheme:尝试下面的链接,它帮助了我。

更好的指令来生成一个有效的散列键

  1. 从Facebook(帐户)中的用户设置中删除应用程序。

  2. 卸载应用程序。

  3. 使用发行版或新的debugging密钥库获取新的哈希值。 使用这个命令:

     keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64 
  4. 在Facebook仪表板上添加新的散列。