Flutter应用Facebook登录后Graph API报错及应用审核提交失败解决方案咨询
问题1:Graph API错误原因及解决办法
虽然你没主动调用Graph API,但flutter_facebook_auth底层会通过Graph API的/me端点获取用户邮箱、用户名等信息,出现错误通常有以下原因:
可能原因
- 依赖版本过旧:旧版
flutter_facebook_auth可能使用了Facebook已废弃的Graph API版本,导致请求被拒绝。 - Graph API版本配置过期:Facebook开发者控制台中你的应用配置的Graph API版本已不再被支持。
- 权限缺失或配置错误:获取邮箱和用户名需要
email和public_profile权限,若这些权限未启用或被限制,会触发API错误。 - 访问令牌无效:登录生成的访问令牌过期、权限不足,或应用的签名/包名与控制台配置不匹配,导致令牌验证失败。
解决步骤
- 更新
flutter_facebook_auth到最新稳定版,确保依赖使用当前支持的Graph API版本。 - 登录Facebook开发者控制台,进入应用的「设置-高级」,检查并升级Graph API版本到当前推荐的稳定版(如v18.0+)。
- 确认应用已启用
email和public_profile权限:在控制台的「应用审核-权限与功能」中,确保这两个权限处于可用状态。 - 检查登录代码的权限请求,明确指定所需权限:
LoginResult result = await FacebookAuth.instance.login( permissions: ['email', 'public_profile'], ); - 使用Facebook的「访问令牌调试器」验证令牌有效性,确认令牌包含
email和public_profile权限。
问题2:激活应用审核提交按钮的必要配置
提交按钮无法激活,通常是应用信息或权限配置不完整,需完成以下项:
- 补全必填应用信息:
- 在「设置-基本」中填写可正常访问的隐私政策URL。
- 上传符合要求的应用图标,完善应用描述和联系方式。
- 权限配置:
- 添加并启用
email和public_profile权限,这是获取用户邮箱、用户名的必要权限。 - 若为移动端应用,在「Facebook登录-设置」中正确配置Android/iOS的包名、签名哈希(Android)、Bundle ID(iOS)。
- 添加并启用
- OAuth配置:
- 确认「Valid OAuth Redirect URIs」配置正确(移动端可留空,Web端需填写回调地址)。
- 准备审核说明:
- 在「应用审核-权限与功能」中,为
email权限提交清晰具体的使用场景说明(如用于用户注册、身份验证等),符合Facebook审核规则。
- 在「应用审核-权限与功能」中,为
内容的提问来源于stack exchange,提问作者Alpit Panchal
相关产品推荐
相关产品推荐

