Facebook登录报错:将你登入到此应用程序时出错,请稍后再试。

作者: android01 发布时间: 2022-10-19 浏览: 4230 次 编辑

Facebook登录报错:将你登入到此应用程序时出错,请稍后再试。

这里帖几个有解决问题指导方向的连接:

  • stackoverflow “Login Error: There is an error in logging you into this application. Please try again later”
  • facebook login troubleshoot
  • facebook 关于Login Error: There is an error in logging you into this application. Please try again later. 的讨论帖子

总结一下就是facebook sdk的bug,需要你更新一下hash key。

华丽的分割线…

真希望你这样就能解决问题了,如果没有请继续往下看。

首先确定一下你的接入的姿势是否正确???

这里有一个官方demo。

HelloFacebookSample

注意一下,需要关注onActivityResult方法的实现。

不巧我遇到的问题都不是这样解决,解决方法是

提供的com.facebook.sdk.ApplicationId 有误,准确的说我们提供是正确的id,但是facebook获取的时候是错误的

我的环境是:

  • gradle:3.3.2
  • minSdkVersion 15
  • targetSdkVersion 28
  • facebook sdk:4.19.0

先描述一下我遇到的问题。

  • facebook能正常初始化
  • 可以看到facebook登录窗口
  • 输入错误的账号密码会提示
  • 输入正确账号密码则提示:“将你登入到此应用程序时出错,请稍后再试”
  • adb log 看到 facebook提示没有任何报错
  • 能执行登录回调中的onCancel方法,却不能执行onSuceess、onError方法

先看一下,因为我是android小白,看不错AndroidManifest.xml中这三个代码的区别

代码1:

// AndroidManifest.xml
 <meta-data
     android:name="com.facebook.sdk.ApplicationId"
     android:value="@string/app_id" />
// strings.xml
<string name="app_id">355198514515820</string>

代码2:

// AndroidManifest.xml
 <meta-data
     android:name="com.facebook.sdk.ApplicationId"
     android:value="355198514515820" />

代码3:

<meta-data
     android:name="com.facebook.sdk.ApplicationId"
     android:value="\ 355198514515820" />

代码1的配置是正确的,代码2初始化失败,代码3的配置导致了我遇到的问题。
如果你不能使用代码1的配置,需要像代码3那样配置。可以用这种方式

<meta-data
     android:name="com.facebook.sdk.ApplicationId"
     // 加上\u003
     android:value="\u003355198514515820" />

这个连接可以告诉你原因,Crash after “Application ID ( 232323232323) must be a numeric value.” #2013
好的,我的问题解决,在此记录一下,希望能帮到你。