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

时间:2014-01-22 11:41:14

标签: iphone facebook phonegap-plugins

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

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

它的工作正常(facebook connect和barcodescanner)与phonegap版本2.9.0。

现在,在我升级phonegap版本3.3.0后,facebook connect(用于登录)无效。 在浏览器(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连接框架的JS文件,并且在加载应用程序时会加载它们。我很确定。构建应用程序时没有错误。

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

- 斯里达尔

3 个答案:

答案 0 :(得分:0)

如果你没有提供你在开发者页面上创建FB应用程序时使用的链接,那么

redirect_uri错误通常会引发,如下所示。 enter image description here

不要在初始化中使用redirect_uri或只在开发者页面FB app中添加方法。这应该有用。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这为我修好了。显然,cordova无法将插件配置中的APP_ID和APP_NAME变量复制到.plist中,因此我必须进入并编辑cordova构建生成的.plist文件,其中包含变量值。

platform/ios/<appname>/<appname>-Info.plist下搜索该文件中的$ APP_ID和$ APP_NAME,并将其替换为其值。

执行此操作后,登录正常。