我正在尝试通过facebook connect插件将我的phonegap应用程序与facebook集成。我遵循了here的说明,因为git不适合我,但我想我最终会以完全相同的设置结束。
当我使用我的应用程序ID执行FB.init()后运行以下代码时,我收到一条警告说“Cordova Facebook Connect插件在auth.status上失败”
console.log('Debug 1');
var params = {
method: 'feed',
name: 'Facebook Dialogs',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
};
console.log(params);
FB.ui(params, function(obj) { console.log(obj);});
虽然logcat输出显示:
09-03 21:29:00.230: D/CordovaLog(21824): Error: Status=2 Message=Class not found
09-03 21:29:00.230: D/CordovaLog(21824): file:///android_asset/www/cordova-2.0.0.js: Line 938 : Error: Status=2 Message=Class not found
09-03 21:29:00.230: I/Web Console(21824): Error: Status=2 Message=Class not found at file:///android_asset/www/cordova-2.0.0.js:938
我不知道这是我的应用程序的facebook身份验证或某些代码问题的问题。我使用keytool生成了一个Android Hash Key,并将其提交给了facebook开发者页面。当我使用相同的密钥库在eclipse中将我的android项目导出为android应用程序时,它不会向我显示我与keytool一起使用的别名(相同的密钥库)。所以我用相同的别名和密码创建了一个新的别名,然后在我的手机上安装了apk。这似乎是什么问题?
答案 0 :(得分:0)
那么有很多问题。首先,最令人困惑的是,以下行不是放在plugins.xml中而是放在config.xml中。
<plugin name="com.phonegap.facebook.Connect" value="com.phonegap.facebook.ConnectPlugin" />
之后,我没有在Facebook开发者页面输入正确的哈希密钥。由于每次需要测试应用程序时都不希望通过密钥库导出apk,因此您应该运行eclipse生成的调试apk(运行为&gt; Android应用程序)并尝试FB.login()。 Facebook会给你一个错误,你的密钥是'xxxxxx',它与你的应用页面上列出的键不匹配。请注意'xxxxxxx',然后在Facebook应用页面输入。
其他人是我自己的错误,不包括正确顺序的脚本。我没有仔细地按照这个例子。在为自己的应用程序编写代码之前,请确保先使用example / Simple / index.html。希望它有所帮助...