微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Facebook Connect / phonegap – FB.init调用中的“nativeInterface”参数,它有什么作用?

所以我一直试图为PhoneGap / Android运行Facebook Connect示例而没有运气.
https://github.com/davejohnson/phonegap-plugin-facebook-connect *

有一些类似的线程有同样的问题.结论是“Facebook SDK是一个移动点”

我使用phoneGap& amp;成功编译了以前的应用程序.日食.
现在关注Android的示例*.如果我完全按照他们的建议行事.应用程序显示按钮,但单击它们时没有任何反应.

在分析了我已经注意到的代码之后

function initFB(){
try {
    FB.init({ appId: "45253452345234523", nativeInterface: PG.FB });
    document.getElementById('data').innerHTML = "";
  } catch (e) {
    alert(e);
  }
}

一个参数nativeInterface:PG.FB在Facebook API中没有为此调用描述..
http://developers.facebook.com/docs/reference/javascript/FB.init/

更有趣的是,当我删除此参数时..突然登录按钮进入带有错误代码API 191的Facebook页面.

所以我的问题是这个参数应该做什么?为什么它不在Facebook API?

我在互联网上找不到关于此参数的信息.我想如果它是一个过时的FB API的情况下会有一些信息可用.

有任何想法吗?

谢谢,

马尔钦

解决方法:

“nativeInterface:PG.FB”选项用于告诉PhoneGap使用本机身份验证接口而不是移动Web界面.如果您没有添加“PG.FB”选项,您将被重定向到Facebook的移动身份验证.我花了一段时间来解决这个问题,并没有详细记录,但这就是正在发生的事情.

关于PhoneGap Facebook插件的另外两件事与最新的Facebook JavaScript SDK不同:

>使用FB.login()时,您应该使用“scope”参数,但PhoneGap需要不推荐使用的“perms”参数.
>当来自FB.login()的验证响应时,您应该获得“response.authResponse”,而是“response.session”是给出的.这意味着您必须使用“response.session.auth_token”而不是“response.authResponse.accesstoken”来提取OAuth访问令牌.

希望他们能够更新PhoneGap Facebook插件,但是现在我使用if / else语句来检测PhoneGap是否存在.您可以使用以下命令检查PhoneGap是否已初始化:

if(window.PhoneGap){
//已加载PhoneGap库
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐