0

我正在尝试通过 facebook 连接插件将我的 phonegap 应用程序与 facebook 集成。我按照这里的说明进行操作,因为 git 对我不起作用,但我认为无论哪种方式我最终都会得到完全相同的设置。

当我在使用我的应用程序 ID 执行 FB.init() 后运行以下代码时,我收到一条警报,提示“Cordova Facebook Connect Plugin 在 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。这里似乎有什么问题?

4

1 回答 1

0

那么有很多问题。首先,最令人困惑的是以下行不是放在 plugins.xml 中,而是放在 config.xml 中。

<plugin name="com.phonegap.facebook.Connect" value="com.phonegap.facebook.ConnectPlugin" />

之后,我没有在 facebook 开发者页面输入正确的哈希键。由于您不想每次需要测试应用程序时都通过密钥库导出 apk,因此您应该只运行 eclipse 生成的调试 apk(运行方式 > Android 应用程序)并尝试 FB.login()。Facebook 会给你一个错误,你的密钥是“xxxxxx”,它与你的应用页面上列出的密钥不匹配。记下“xxxxxxx”并在 facebook 应用页面上输入。

其他是我自己的错误,没有按正确的顺序包含脚本。我没有仔细遵循这个例子。在为自己的应用程序编写代码之前,请确保先让 example/Simple/index.html 正常工作。希望能帮助到你...

于 2012-09-03T22:19:30.233 回答