phonegap 3.3 iOS Facebook Connect redirect_uri 必须是绝对的

Posted

技术标签:

【中文标题】phonegap 3.3 iOS Facebook Connect redirect_uri 必须是绝对的【英文标题】:phonegap 3.3 iOS Facebook Connect redirect_uri must be absolute 【发布时间】:2014-01-22 11:41:13 【问题描述】:

我正在使用 phonegap 开发 ios 本机应用程序。此应用程序具有条形码扫描仪和 facebook 连接功能。我正在使用 phonegap 版本 2.9.0。

应用程序启动时,用户必须使用 facebook 凭据登录。应用程序中有一个按钮,单击该按钮时它将重定向到浏览器(Safari)以询问 Facebook 登录。此外,此应用程序具有 facebook 发布功能。

使用 phonegap 版本 2.9.0 运行良好(facebook 连接和条形码扫描仪)。

现在,我升级 phonegap 版本 3.3.0 后,facebook 连接(用于登录)无法正常工作。 在浏览器(safari)启动后,它说“redirect_uri 必须是绝对的”。

我正在使用this link。将phonegap版本升级到3.3.0后,我的应用逻辑并没有改变。单击按钮时,我正在使用以下代码进行 facebook 初始化和 facebook 登录。

Facebook 初始化。

FB.init( appId: "<appid>", nativeInterface: CDV.FB, useCachedDialogs: false );

Facebook 登录

FB.login(function(response),scope:"email");

我也尝试更改 appid,同样的响应。

我已经包含了 phonegap 框架和 facebook connect 框架的 JS 文件,它们在应用程序加载时加载。我很确定。构建应用时没有错误。

请让我知道我做错了什么。

--斯里达

【问题讨论】:

您是否设法弄清楚发生了什么?我现在在 iOS 模拟器上遇到了同样的问题。 【参考方案1】:

如果您没有提供与您在开发人员页面上创建 FB 应用程序时使用的链接相同的链接,则通常会引发redirect_uri 错误,如下所示。

不要在初始化中使用redirect_uri 或方法只是在开发者页面FB 应用程序中添加。应该可以的。

【讨论】:

问题不在于 facebook 应用,而在于 phonegap 3.3.0。相同的应用程序逻辑在 phonegap 2.9.0 上运行良好。将 phonegap 版本升级到 3.3.0 后,我没有更改任何内容(应用程序逻辑和 facebook 应用程序设置)。【参考方案2】:

这个link 可能会有所帮助。

但是,我无法让它自动安装

phonegap local plugin add https://github.com/mallzee/phonegap-facebook-plugin.git --variable APP_ID="[FB APP ID]" --variable APP_NAME="[FB APP NAME]"

它对我说:[错误] 缺少变量:APP_ID、APP_NAME

【讨论】:

我已使用此命令将此插件安装到我的项目中。安装此插件后我遇到了问题。 您是如何使用该命令的?我是这样使用的:phonegap local plugin add github.com/mallzee/phonegap-facebook-plugin.git --variable APP_ID="1234567890" --variable APP_NAME="appname" 但这没有。 我仍然面临同样的问题,你是否考虑降级到 2.9(我成功了,但仍然没有成功) 我已将此插件下载到本地,从 plugin.xml 中删除首选项行并从本地安装此插件。安装此插件无需降级。 我让它与phonegap 3.3一起工作,但在初始化之后,它禁用了其他插件(如inappbrowser),当我找到解决方案时,我会为你发布【参考方案3】:

这为我解决了问题。显然,cordova 未能将插件配置中的 APP_ID 和 APP_NAME 变量复制到 .plist 中,所以我不得不进入并编辑 cordova build 使用变量值生成的 .plist 文件。

platform/ios/&lt;appname&gt;/&lt;appname&gt;-Info.plist 下,在该文件中搜索 $APP_ID 和 $APP_NAME,并将它们替换为它们的值。

完成后登录正常。

【讨论】:

以上是关于phonegap 3.3 iOS Facebook Connect redirect_uri 必须是绝对的的主要内容,如果未能解决你的问题,请参考以下文章

iOS Phonegap Like 按钮 (phonegap-plugin-facebook-connect)

Phonegap + Facebook 插件:为 iOs 准备的 Xcodeproj 包

如何在 iOS 中使用自定义 phonegap 3.3 插件

phonegap + facebook 插件:登录打开浏览器而不是弹出窗口(iOS)

ios的phonegap中的facebook身份验证

未找到 Phonegap 3.3/Cordova iOS 地理位置