当用户通过Facebook进行身份验证时,我正在尝试访问用户的电子邮件以及设置和帐户的名称。我已经准备好react-native-fbsdk的文档,但是在任何地方都看不到它。

最佳答案

您可以执行以下操作(这是我在应用程序中的精简版本):

<LoginButton
  publishPermissions={['publish_actions']}
  readPermissions={['public_profile']}
  onLoginFinished={
    (error, result) => {
      if (error) {
        console.log('login has error: ', result.error)
      } else if (result.isCancelled) {
        console.log('login is cancelled.')
      } else {
        AccessToken.getCurrentAccessToken().then((data) => {
          const { accessToken } = data
          initUser(accessToken)
        })
      }
    }
  }
  onLogoutFinished={logout} />

// initUser 函数
initUser(token) {
  fetch('https://graph.facebook.com/v2.5/me?fields=email,name,friends&access_token=' + token)
  .then((response) => response.json())
  .then((json) => {
    // Some user object has been set up somewhere, build that user here
    user.name = json.name
    user.id = json.id
    user.user_friends = json.friends
    user.email = json.email
    user.username = json.name
    user.loading = false
    user.loggedIn = true
    user.avatar = setAvatar(json.id)
  })
  .catch(() => {
    reject('ERROR GETTING DATA FROM FACEBOOK')
  })
}

关于facebook - 如何从react-native-fbsdk获取用户信息(电子邮件,名称等)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37471905/

10-11 22:52
查看更多