You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native FBSDK已授权权限但返回email为undefined求助

嘿,我明白你现在的困扰——明明已经请求了email权限,却只能拿到用户的id和name,email一直返回undefined。我仔细看了你的代码,发现了几个关键问题,咱们一步步来解决:

核心问题:参数拼写错误

你在创建GraphRequest的时候,把**parameters拼成了prameters**!这个拼写错误会导致你指定的fields参数根本没被Facebook SDK正确识别,所以它只会返回默认的id和name字段,自然拿不到email。

修复后的代码片段

把GraphRequest的参数部分修正,同时建议把fields里的逗号空格去掉(虽然空格不一定会报错,但保持规范更好):

const infoRequest = new GraphRequest(
  '/me',
  { 
    accessToken: accessToken, 
    parameters: { fields: { string: 'email,name,first_name,middle_name,last_name' } } 
    // 这里把prameters改成parameters,同时去掉fields里的空格
  },
  responseInfoCallback
);

额外排查建议

如果修正后还是拿不到email,可以检查这几点:

  • 用户账号是否绑定邮箱:有些Facebook用户可能用手机号注册,没有绑定邮箱,这种情况下无论怎么请求都拿不到email
  • 确认权限是否真的被授予:在LoginManager.logInWithReadPermissions的成功回调里,打印result.grantedPermissions,确认email在列表里:
    console.log('已授予权限:', result.grantedPermissions);
    
  • Facebook开发者后台设置:确保你的应用在Facebook开发者平台里,已经开启了获取用户邮箱的权限(虽然默认是允许的,但可以去“应用审核”->“权限和功能”里确认email是可用状态)

这样应该就能解决你的问题啦,试试吧!

内容的提问来源于stack exchange,提问作者Mohsin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:07:56