react-native-fbsdk 不支持redirect_uri URL

Posted

技术标签:

【中文标题】react-native-fbsdk 不支持redirect_uri URL【英文标题】:react-native-fbsdk The redirect_uri URL is not supported 【发布时间】:2018-09-30 19:13:27 【问题描述】:

我正在尝试使用 react-native-fbsdk 来允许用户登录我的应用。我已经设置了一个登录按钮。

代码:

import React,  Component  from 'react'
import  View  from 'react-native'
import  LoginButton, AccessToken  from 'react-native-fbsdk'

export default class FBLoginButton extends Component 
  render() 
    return (
      <View>
        <LoginButton
          onLoginFinished=
            (error, result) => 
              if (error) 
                alert('Login failed with error: ' + error.message)
               else if (result.isCancelled) 
                alert('Login was cancelled')
               else 
                AccessToken.getCurrentAccessToken().then(
                    (data) => 
                      console.log(data.accessToken.toString())
                    
                  )
              
            
          
          onLogoutFinished=() => alert('User logged out')/>
      </View>
    )
  

当我点击登录按钮时,我会在模拟器中看到它

如果我尝试添加权限,我会收到 xcode 错误:

代码:

<LoginButton
          publishPermissions=['email']
          onLoginFinished=...

错误: 线程1:信号SIGABRT

如何摆脱 redirect_uri 错误?

【问题讨论】:

这些可以帮助吗:1.developers.facebook.com/blog/post/2017/12/18/… 2.janrain.com/blog/…?我的意思是,您是否设置或列出了重定向 URI?您还应该验证重定向是否有效。 @zvona 我没有对重定向 URI 做任何事情,因为你在使用 react-native-fbsdk 时不需要这样做。我现在正在研究这个问题,但在将它与本机反应一起使用时,我正在努力连接这些点。我根本不知道它试图去什么重定向 uri。 用 readPermissions 替换 publishPermissions,这个问题经常出现在新的 react-native 开发者身上;)你只是使用了旧版本的道具名称 【参考方案1】:

我在ios/appName/info.plistinfo.plist 文件中输入了错误的FacebookAppIdCFBundleURLSchemes。我不得不去https://developers.facebook.com/apps/29476792337468632/fb-login/quickstart/?sdk=fbsdk看看APP ID是什么(它显示在你的应用名称旁边的导航栏中)。快速入门实际上会为您提供下面的整个代码块以及正确的应用程序 ID,以便粘贴到 info.plist。

<key>CFBundleURLTypes</key>
<array>
  <dict>
  <key>CFBundleURLSchemes</key>
  <array>
    <string>fb29476792337468632</string>
  </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>29476792337468632</string>
<key>FacebookDisplayName</key>
<string>My App Name</string>

【讨论】:

以上是关于react-native-fbsdk 不支持redirect_uri URL的主要内容,如果未能解决你的问题,请参考以下文章

react-native-fbsdk / Facebook iOS SDK - 未定义不是对象(评估'LoginManager.logInWithReadPermissions')

使用 react-native-fbsdk 注销的正确方法

react-native-fbsdk:“ld:找不到-l-lRNSDKCoreKit的库”

未找到 react-native-fbsdk FBSDKCoreKit 和 FBSDKShareKit

react-native-fbsdk 发布消息 facebook Graph API FBGraphRequest

如何获取用于 react-native-fbsdk 模块的 Facebook SDK 版本