react-native fbsdk正在返回未定义的电子邮件

问题描述 投票:0回答:1

我正在尝试通过facebook sdk获取信息,但到目前为止,我只获得用户的ID和名称。我确实已经授予了权限,但仍然没有像名称和ID那样弹出电子邮件。我尝试console.log(result.email),但未定义。

任何帮助将不胜感激。

提前感谢

import React, { Component } from 'react';
import { View } from 'react-native';
import { LoginButton, AccessToken ,GraphRequest, GraphRequestManager} from 'react-native-fbsdk';

export default class Login extends Component {
  render() {
    return (
      <View>
        <LoginButton
    onLoginFinished={
      (error, result) => {
        if (error) {
          alert("login has error: " + result.error);
        } else if (result.isCancelled) {
          alert("login is cancelled.");
        } else {

          AccessToken.getCurrentAccessToken().then(
            (data) => {
              let accessToken = data.accessToken
              alert(accessToken.toString())

              const responseInfoCallback = (error, result) => {
                if (error) {
                  console.log(error)
                  alert('Error fetching data: ' + error.toString());
                } else {
                  console.log(result)
                  console.log(result.email)

                  alert('Success fetching data: ' + result.toString());
                }
              }

              const infoRequest = new GraphRequest(
                '/me',
                {
                  accessToken: accessToken,
                  parameters: {
                    fields: {
                      string: 'name,email'
            }
                  }
                },
                responseInfoCallback
              );

              // Start the graph request.
              new GraphRequestManager().addRequest(infoRequest).start()

            }
          )

        }
      }
    }
    onLogoutFinished={() => alert("logout.")}/>
      </View>
    );
  }
}
facebook react-native facebook-graph-api fbsdk react-native-fbsdk
1个回答
0
投票

[readPermissions现在已替换为permissions

<LoginButton
          permissions={["email", "user_friends", "public_profile"]}
          onLoginFinished={this._onFacebookLoginFinished.bind(this)}
          onLogoutFinished={this._onFacebookLogoutFinished.bind(this)}
        />
© www.soinside.com 2019 - 2024. All rights reserved.