首页 > 解决方案 > 反应原生;Facebook 登录错误:未定义不是对象(login-WithReadPermissionAsync)

问题描述

在我按下登录按钮通过 facebook 登录后,出现错误“Facebook 登录错误:未定义不是对象(正在评估 '_ExponentFacebook.default.login-WithReadPermissionAsync')”

代码没有错误但仍然无法登录,我做错了什么?

列出我已经做过的

- 在https://developers.facebook.com/apps/设置和创建一个新应用程序

-运行命令“expo install expo-facebook”

- 在我的代码上定义 facebook App id

import * as Facebook from 'expo-facebook';
console.disableYellowBox = true;

export default function FacebookLogin() {

  const [isLoggedin, setLoggedinStatus] = useState(false);
  const [userData, setUserData] = useState(null);
  const [isImageLoading, setImageLoadStatus] = useState(false);
  facebookLogIn = async () => {
    try {
      const {
        type,
        token,
        expires,
        permissions,
        declinedPermissions,
      } = await Facebook.logInWithReadPermissionsAsync('<--MyfbAppId-->', {
        permissions: ['public_profile'],
      });
      if (type === 'success') {
        // Get the user's name using Facebook's Graph API
        fetch(`https://graph.facebook.com/me?access_token=${token}&fields=id,name,email,picture.height(500)`)
          .then(response => response.json())
          .then(data => {
            setLoggedinStatus(true);
            setUserData(data);
          })
          .catch(e => console.log(e))
      } else {
        // type === 'cancel'
      }
    } catch ({ message }) {
      alert(`Facebook Login Error: ${message}`);
    }
  }

标签: react-nativefacebook-login

解决方案


推荐阅读