undefined не является объектом (оценка FBSDKAccessTokenInterface.getCurrentAccessToken)

У меня проблемы с моей способностью получить AccessToken в fbsdk в React Native.

Я называю ядро ​​в соответствии с предложением Facebook:

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

И в одном сценарии я пытаюсь записать токен в журнал, как это было предложено в similair вопросе, изложенном здесь на 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>

Это дает мне красный экран "undefined не является объектом (оценка FBSDKAccessTokenInterface.getCurrentAccessToken)

Попытка выполнить что-то похожее в других частях приложения, конечно, сначала определив const FBSDKAccessToken, затем вызвав userID (который должен быть частью FBSDKCore) как:

<Text style={{fontSize: 18, color:colors.General.navtext}}>{FBSDKAccessToken.userID}</Text>

Ничего не дает, где я считал, чтобы вернуть userID вошедшего в систему пользователя. Кроме того, если я попытаюсь записать токен доступа в том же месте, что и:

<Text style={{fontSize: 18, color:colors.General.navtext}}>{FBSDKAccessToken.getCurrentAccessToken()}</Text>

Я получаю такой же красный экран, как и раньше.

Я пытался взглянуть на связывание библиотек, но это даже вызвало дальнейшую проблему.

Следовательно, от этого я довольно застрял, и я был бы очень признателен за отзывы о том, что пошло не так.

1 ответ

У меня также были проблемы с FBSDKCore. Исправлено с помощью response-native-fbsdk

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

Вы дважды проверили эти шаги, упомянутые на Facebook:

  • Убедитесь, что фреймворки Facebook SDK установлены в ~/Documents/FacebookSDK.
  • Убедитесь, что FBSDK[Core, Login, Share]Kit.framework отображается в разделе "Связать двоичные файлы с библиотеками" на этапах сборки объекта сборки.
  • Убедитесь, что ~ / Documents / FacebookSDK находится в Путь поиска фреймворка в настройках сборки целевого объекта сборки.

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

Другие вопросы по тегам