首页 > 解决方案 > 如何在本机反应中显示 facebook 用户名?

问题描述

我可以使用 facebook api 登录我的应用程序。我想显示这样的欢迎信息:嗨,(Facebook 名称)。我该怎么做?我尝试显示:嗨,{displayName},但它不起作用。

//这是登录屏幕

async loginWithFacebook() {
   const { type, token } = await 
     Expo.Facebook.logInWithReadPermissionsAsync('717955408626729', 
      { permissions: ['email']['public_profile'] })

    if (type == 'success') {
        const credential = firebase.auth.FacebookAuthProvider.credential(token)             

        firebase.auth().signInWithCredential(credential).catch((error) => 
      {

        })
           }
      }

render() {
    return (

        <View>
            <Image
                source={require('../assets/logo2.png')}
                style={{ height: 280, width: 350, marginTop: -210 }}

            />
            <View>
                <Text>Benvenuto!</Text>

            </View>
            <TouchableOpacity
                onPress={() => this.loginWithFacebook()}>
                <Text>Accedi con Facebook</Text>
            </TouchableOpacity>
        </View>

    );
}

}

标签: facebookfirebasereact-nativeauthenticationmobile

解决方案


如果您可以获得 Facebook 名称,您可以使用它。

const data =  { "displayName": "Mattia Cannavò", "email": null,
   "emailVerified": false, "isAnonymous": false, "lastLoginAt": "1566314114729",
    "phoneNumber": null, "photoURL": "graph.facebook.com/2177408949049079/picture",
     "providerData": Array [ { "displayName": "Mattia Cannavò", 
     "email": "mattiacannavo08@gmail.com", "phoneNumber": null, 
     "photoURL": "graph.facebook.com/2177408949049079/picture", 
     "providerId": "facebook.com", "uid": "2177408949049079", } ] };

<Text>{`Hi ${data.displayName} `}</Text>

推荐阅读