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を返すと信じていたところ、何も得られません。また、同じ場所に accesstoken を書き出そうとすると、次のようになります。
<Text style={{fontSize: 18, color:colors.General.navtext}}>{FBSDKAccessToken.getCurrentAccessToken()}</Text>
以前と同じ赤い画面が表示されます。
ライブラリのリンクを調べてみましたが、さらに問題が発生しました。
したがって、これから、私はかなり立ち往生しており、何がうまくいかなかったのかについてのフィードバックを本当に感謝しています.