Facebook登录出现unsupported request错误无法登录如何解决?
解决方案
1. 开发者后台配置排查
- 确认应用已切换为上线状态,开发模式下仅测试人员列表内的账号可正常登录,非测试人员登录会触发该错误
- 进入「设置」-「基本」页面的Android平台配置项,核对以下参数必须和当前运行的APP完全一致:
- 应用包名
- 登录页Activity完整类名
- 签名哈希值(注意区分debug、release两种签名对应的哈希值,不要填错)
2. 本地项目配置排查
- 确认
AndroidManifest.xml中已正确配置以下参数,取值和开发者后台配置完全一致:<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token" /> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity> - 确认Facebook SDK初始化代码放在Application的
onCreate方法中,早于所有登录逻辑执行。
3. 登录逻辑排查
- 12.1.0版本SDK需使用规范的登录调用写法,参考示例:
// 初始化回调管理器 val callbackManager = CallbackManager.Factory.create() // 注册登录回调 LoginManager.getInstance().registerCallback(callbackManager, object : FacebookCallback<LoginResult> { override fun onSuccess(result: LoginResult) { // 处理登录成功逻辑 } override fun onCancel() { // 处理登录取消逻辑 } override fun onError(error: FacebookException) { // 打印错误日志排查细节 Log.e("FB_LOGIN", "登录错误", error) } }) // 触发登录,传入申请的权限列表 LoginManager.getInstance().logInWithReadPermissions(this, listOf("email", "public_profile")) - 你当前申请的
email、public_profile为默认开放权限,无需额外审核,配置本身无问题。
4. 兼容问题排查
- 确认用户设备已具备正常访问Facebook服务的网络环境
- 升级设备内的Facebook APP到官方最新版本,旧版本Facebook APP和12.1.0版本SDK存在兼容性问题会触发该错误
- 清理APP缓存、Facebook APP缓存后重试,本地缓存的无效登录票据会导致请求被拦截
内容的提问来源于stack exchange,提问作者sejn
相关产品推荐
相关产品推荐

