首页 > 解决方案 > 使用 Facebook 按钮创建登录...问题

问题描述

我正在尝试为我的 react native/expo/firebase 应用程序创建一个“使用 Facebook 登录”按钮,但它不起作用。

单击登录按钮时,我目前收到以下警告:可能未处理的承诺拒绝(id:4):错误:使用参数“(我的 Facebook 应用程序 ID)”调用“ExponentFacebook.loginWithReadPermissionsAsync”时引发异常:-[_NSCFString objectForKeyedSubscript:]: 无法识别的选择器发送到实例...

我究竟做错了什么?

这是我的功能:

import firebase from './firebase.js';
import * as Facebook from 'expo-facebook';

export async function FacebookLogin() {

  const appId = Expo.Constants.manifest.extra.facebook.appId;
  const permissions = ['public_profile', 'email'];

  Facebook.initializeAsync({appId: appId, appName: "Foo"});
  
  const { type, token } = await
  Facebook.logInWithReadPermissionsAsync(
         appId,{
                permission: permissions
      } 
  );

  if (type == "success") {
    const credential =   
      firebase
        .auth
        .FacebookAuthProvider
        .credential(token);
  }
  firebase
   .auth().signInWithCredential(credential).catch(error => {
       console.log(error);
   });
}

标签: firebasereact-nativeexpofacebook-login

解决方案


推荐阅读