使用flutter_facebook_auth: ^5.0.8实现Facebook登录时遇Invalid Scopes错误
解决flutter_facebook_auth: ^5.0.8 Facebook登录的无效权限错误
问题原因
Facebook Graph API 13.0及以后版本中,public_profile、email属于默认登录权限,无需手动在scopes中声明;openid并非Facebook登录的有效权限。当请求中包含这些无效权限时,就会触发该开发者专属提示(普通用户不会看到此提示)。
解决方案
- 清理无效权限参数
修改登录代码,移除无效的权限声明:
// 错误写法 final LoginResult result = await FacebookAuth.instance.login( permissions: ['email', 'openid', 'public_profile'], ); // 正确写法:无额外权限需求可直接省略permissions参数 final LoginResult result = await FacebookAuth.instance.login(); // 若需额外权限(如user_friends),仅添加有效权限 // final LoginResult result = await FacebookAuth.instance.login( // permissions: ['user_friends'], // );
后台权限配置检查
在Facebook开发者后台的应用「登录」产品中,确认「权限与功能」列表仅保留实际需要的有效权限,确保email等必要权限已添加并通过审核。关键注意点
- 完全不需要添加
openid权限,Facebook登录不支持该参数。 - 基础的用户公开信息、邮箱权限已默认包含在登录流程中,无需手动声明。
内容的提问来源于stack exchange,提问作者Syed Arsalan Kazmi
相关产品推荐
相关产品推荐

