我无法在 React Native 的 fbsdk 中获取 AccessToken。
我按照 Facebook 的建议调用核心:
const FBSDKCore = require('react-native-fbsdkcore');
const {
FBSDKAccessToken,
} = FBSDKCore;
在一种情况下,我尝试按照此处关于 SO 的类似问题的建议在日志中写入令牌。
<View>
<View style={{flex: 1, alignItems: 'center', padding: 50, marginTop: 250}}>
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
FBSDKAccessToken.getCurrentAccessToken((token)=> {
console.log(token);
});
Actions.Navigator()
}
}
}
onLogoutFinished={() => {
alert("logout.")}}/>
</View>
</View>
</View>
这给了我红屏“未定义不是对象(评估 FBSDKAccessTokenInterface.getCurrentAccessToken)
尝试在应用程序的其他部分实现类似的东西,当然首先定义 const FBSDKAccessToken,然后调用 userID(它应该是 FBSDKCore 的一部分)为:
<Text style={{fontSize: 18, color:colors.General.navtext}}>{FBSDKAccessToken.userID}</Text>
什么都没有,我相信它会返回登录用户的用户 ID。另外,如果我尝试在同一个地方写出访问令牌:
<Text style={{fontSize: 18, color:colors.General.navtext}}>{FBSDKAccessToken.getCurrentAccessToken()}</Text>
我得到和以前一样的红屏。
我试图查看库的链接,但这甚至导致了进一步的问题。
因此,从这一点来看,我很困惑,我真的很感激一些关于哪里出了问题的反馈。