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

使用react-native-fbsdk-next时无法获取Email字段的问题求助

Expo + React Native + Firebase Facebook登录:无法获取Email及权限不弹窗问题解决
  • 检查Facebook应用后台配置

    • 未上线的测试应用必须添加测试用户,且测试用户的Facebook账号需绑定已验证的邮箱;正式应用的email权限需通过Facebook应用审核。
    • 在登录产品设置中,确认OAuth跳转URI包含Expo项目的回调地址,格式为https://auth.expo.io/@你的Expo用户名/项目slug。
  • 替换权限请求方式(适配Expo环境)
    Expo托管环境下原生LoginManager可能存在权限请求不生效的问题,改用Expo官方的expo-facebook模块:

    import * as Facebook from 'expo-facebook';
    import firebase from '@react-native-firebase/app';
    import '@react-native-firebase/auth';
    
    const facebookLogin = async () => {
      // 初始化Facebook SDK
      await Facebook.initializeAsync({ appId: '你的Facebook应用ID' });
      
      // 请求权限
      const { type, token } = await Facebook.logInWithReadPermissionsAsync({
        permissions: ['public_profile', 'email'],
      });
    
      if (type === 'success') {
        // 主动调用Facebook Graph API获取邮箱
        const graphResponse = await fetch(
          `https://graph.facebook.com/me?access_token=${token}&fields=id,name,email`
        );
        const userData = await graphResponse.json();
        
        // 生成Firebase凭证并登录
        const credential = firebase.auth.FacebookAuthProvider.credential(token);
        await firebase.auth().signInWithCredential(credential);
        
        // 同步邮箱到Firebase Auth
        if (userData.email) {
          await firebase.auth().currentUser.updateEmail(userData.email);
        }
      }
    };
    
  • 核对Firebase与Facebook的关联配置

    • 在Firebase控制台「身份验证 > 登录方式 > Facebook」中,确认App ID、App Secret填写正确,且已启用Facebook登录。
    • Facebook开发者后台「设置 > 基本」中的应用密钥,需和Firebase中填写的完全一致,同时网站域名要包含auth.expo.io。
  • 重置用户授权状态
    如果用户之前已授权过应用但未授予email权限,需让用户在Facebook的「设置 > 应用和网站」中移除你的应用,重新发起授权请求。

  • 完善Expo项目配置
    在app.json的expo字段中添加Facebook相关配置:

    {
      "expo": {
        "facebookScheme": "fb你的Facebook应用ID",
        "facebookAppId": "你的Facebook应用ID",
        "facebookDisplayName": "你的应用名称"
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:27:21