React-Native:facebook登录出现“无效范围:邮件”问题

时间:2019-01-19 14:37:01

标签: react-native

我有root.js并有一个LoginScreen。

这就是根的样子。

constructor(props){
    super(props);

    fire.auth().onAuthStateChanged(function(user){
      if(user){
        //logged in!
        console.log("logged in!");
      } else {
        //logged out!
        console.log("logged out!");
      }
    });
  }


  render() {
    return (
      <View style={styles.container}>
        <LoginScreen />
      </View>
    );
  }
}

我的loginScreen是:

async loginWithFacebook (){
    const {type, token} = await Expo.Facebook.logInWithReadPermissionsAsync(
      "2073519281256416",
      {permissions:["mail", "public_profile"]}
    );

    if(type == "success"){
      const credentials = fire.auth.FacebookAuthProvider.credential(token);
      fire.auth().signInWithCredential(credentials).catch((error)=>{
        console.log("error is ", error);
      })
    }
  }

  render(){
    return(
      <View>
        <TouchableHighlight style={{backgroundColor: "green"}}
          onPress={()=> this.loginWithFacebook()}>
          <Text>Login with Facebook!</Text>
        </TouchableHighlight>
      </View>
    );
  }
}

当我单击按钮时,它向我发送了Facebook页面。但是有一个错误,它是无效的范围:邮件。好的。当我尝试将loginWithFacebook函数也放入Root js和Button中时,就没有问题。我可以连接...但是为什么不能从LoginScreen顺利连接?

0 个答案:

没有答案