使用指数反应原生的 Facebook 登录

Posted

技术标签:

【中文标题】使用指数反应原生的 Facebook 登录【英文标题】:Facebook Login using Exponent React Native 【发布时间】:2017-03-24 10:51:55 【问题描述】:

需要帮助的人,目前正在使用指数并访问 Exponent.Facebook.logInWithReadPermissionsAsync 进行身份验证。任何人都有设置项目的指南。我找不到 ios 文件夹,因为在 facebook sdk 的说明中,我需要在项目中添加一些库。这是我的 main.js:

import Expo from 'expo';
import React from 'react';
import  StyleSheet, Text, View  from 'react-native';
import  Button  from 'react-native-elements';

class App extends React.Component 

  authenticate = (token) => 
    const provider = firebase.auth.FacebookAuthProvider;
    const credential = provider.credential(token);
    return firebase.auth().signInWithCredential(credential);
  

  login = async () => 
    const ADD_ID = 273131576444313
    const options = 
        permissions: ['public_profile', 'email'],
    
    const type, token = await Expo.Facebook.logInWithReadPermissionsAsync(ADD_ID, options)
    if (type === 'success') 
        const response = await fetch(`https://graph.facebook.com/me?access_token=$token`)
        console.log(await response.json());
        this.authenticate(token);
    


  render() 
    return (
      <View style=styles.container>
        <Text>Open up main.js to start working on your app!</Text>
        <Button
          raised
          onPress=this.login
          icon=name: 'cached'
          title='RAISED WITH ICON' />
      </View>
    );
  



const styles = StyleSheet.create(
  container: 
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  ,
);

Expo.registerRootComponent(App);

`

【问题讨论】:

【参考方案1】:

尝试在 APP_ID 周围加上单引号

【讨论】:

您可能想将您的 APP ID 编辑为随机数 BTW。 @RuiePena 除了expo sdk 的这段代码之外,您还采取了哪些其他步骤?我收到此错误invalid key hash. The key hash 83490ksksjklsjjskj= does not match any stored key hashes......

以上是关于使用指数反应原生的 Facebook 登录的主要内容,如果未能解决你的问题,请参考以下文章

反应原生 fbsdk 我如何通过服务器获得长期访问令牌

反应原生不建议使用 TextInput 发送电子邮件

反应原生深度链接与 Facebook SDK 冲突

Facebook原生广告无法点击,无反应

如何在反应原生应用程序中安装 facebook sdk?

iOS Facebook 登录无需打开浏览器或原生 Facebook 应用程序