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.plist
的info.plist
文件中输入了错误的FacebookAppId
和CFBundleURLSchemes
。我不得不去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:“ld:找不到-l-lRNSDKCoreKit的库”
未找到 react-native-fbsdk FBSDKCoreKit 和 FBSDKShareKit