4

我已经使用新的https://github.com/facebook/react-native-fbsdk让 facebook 登录正常工作,但是我似乎无法获得通常在响应中返回的用户令牌。有人找到获取此信息的方法吗?另一个 SDK 的https://github.com/magus/react-native-facebook-login在登录请求中返回它,但新的 FB sdk 没有,并且 github 页面上的文档在任何地方都没有提到它。

4

2 回答 2

10

经过一番挖掘后找到了答案。您需要使用 fbsdkcore 来访问用户令牌。下面是你如何使用它。

var FBSDKCore = require('react-native-fbsdkcore');
var {
  FBSDKAccessToken,
} = FBSDKCore;

var Login = React.createClass({
  render: function() {
    return (
      <View>
        <FBSDKLoginButton
          onLoginFinished={(error, result) => {
            if (error) {
              alert('Error logging in.');
            } else {
              if (result.isCanceled) {
                alert('Login cancelled.');
              } else {
                FBSDKAccessToken.getCurrentAccessToken((token) => {
                  console.log(token.tokenString);
                })
              }
            }
          }}
          onLogoutFinished={() => console.log('Logged out.')}
          readPermissions={[]}
          publishPermissions={['publish_actions']}/>
      </View>
    );
  }
});
于 2015-08-31T21:46:37.560 回答
1

您不需要第三方模块 ( react-native-fbsdkcore)

包 ( react-native-fbsdk) 在其 Github 页面上有说明:https ://github.com/facebook/react-native-fbsdk#usage

用户登录后,您可以按如下方式获取访问凭据:

import { AccessToken } from 'react-native-fbsdk';

AccessToken.getCurrentAccessToken().then(data => {
  console.log(data.accessToken.toString())
})
于 2021-01-10T01:24:54.073 回答