0

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>

以前と同じ赤い画面が表示されます。

ライブラリのリンクを調べてみましたが、さらに問題が発生しました。

したがって、これから、私はかなり立ち往生しており、何がうまくいかなかったのかについてのフィードバックを本当に感謝しています.

4

1 に答える 1

0

FBSDKCore にも問題がありました。react-native-fbsdk を使用して修正しました

const FBSDK = require('react-native-fbsdk');
const {
  AccessToken,
} = FBSDK;

Facebook で言及されている次の手順を再確認しましたか。

  • ~/Documents/FacebookSDK に Facebook SDK フレームワークがインストールされていることを確認します。
  • FBSDK[Core, Login, Share]Kit.framework が、ビルド ターゲットの Build Phases の Link Binary with Libraries セクションに表示されていることを確認してください。
  • ~/Documents/FacebookSDK がビルド ターゲットのビルド設定のフレームワーク検索パスにあることを確認してください。

( https://github.com/facebook/react-native-fbsdk )

于 2016-09-19T13:40:28.723 に答える