uniapp facebook登录报错"errmsg": "login:fail provider not find"如何解决?
我在使用UniApp开发应用时,集成了Facebook登录功能,但在调用登录接口时遇到了错误提示:“errmsg”: “login:fail provider not find”。请问这个错误是什么原因导致的?应该如何解决?我已经按照官方文档配置了Facebook开发者平台的应用ID和应用密钥,并且在manifest.json中正确填写了相关配置。是否还需要在其他地方进行额外设置?希望有经验的朋友能帮忙解答一下。
2 回复
检查manifest.json中是否配置了Facebook登录。在App模块配置中勾选OAuth(登录授权),并添加Facebook应用ID。确保已安装Facebook应用且版本支持。
在uni-app中遇到Facebook登录报错 "login:fail provider not find",通常是因为配置不正确或环境问题。以下是常见原因和解决方案:
1. 检查manifest.json配置
确保在 manifest.json → App模块配置 中勾选了 OAuth(登录授权),并在 OAuth登录配置 中添加了Facebook登录,填写正确的App ID和App Secret。
示例配置:
{
"app-plus": {
"modules": {
"OAuth": {}
},
"oauth": {
"facebook": {
"appid": "你的Facebook应用ID",
"appsecret": "你的Facebook应用密钥"
}
}
}
}
2. 检查代码调用方式
确保使用正确的API调用Facebook登录,并指定provider为 "facebook":
uni.login({
provider: 'facebook',
success: function (loginRes) {
console.log(JSON.stringify(loginRes));
},
fail: function (err) {
console.error("登录失败:" + JSON.stringify(err));
}
});
3. 确认Facebook应用配置
- 在 Facebook开发者平台 检查应用状态是否为 活跃。
- 添加平台:在应用设置中,添加 Android 或 iOS 平台,并填写对应的包名(Android)或Bundle ID(iOS),与uni-app项目中
manifest.json的配置一致。 - 启用 Facebook登录 产品,并确保 OAuth重定向URI 正确。
4. 检查平台特定配置
- Android:确保已生成并配置正确的开发/发布版SHA1证书指纹,并在Facebook应用中填入。
- iOS:在
manifest.json的 iOS设置 中填写正确的URL Scheme(格式如fb{AppID}),并在Facebook应用中配置Bundle ID。
5. 环境与调试
- 使用真机测试,部分功能在模拟器中可能无法正常工作。
- 检查网络环境,确保可以访问Facebook服务。
- 更新uni-app SDK和基座到最新版本。
完成以上步骤后,重新生成自定义调试基座或打包应用,通常可以解决问题。如果仍有错误,请检查控制台日志或Facebook应用后台的错误详情。

