1

我正在使用 Android 版 Phonegap,我刚刚将 Facebook 插件(https://github.com/phonegap/phonegap-facebook-plugin)集成到我的项目中。我需要获取一个可以发送到服务器的 AccessToken,以便服务器可以代表用户发布。


当我第一次调用 FB.login(callback, {scope:'email,user_birthday,user_location'}) 时,一切正常,花花公子。但是,如果我向范围添加“publish_stream”权限,则会收到错误消息:“未捕获的错误:在 NPObject 上调用方法时出错”。错误源自第 863 行的 cordova.js (phonegap 2.8),即: var messages = nativeApiProvider.get().exec(service, action, callbackId, argsJson); 我以以下方式初始化插件:

        FB.init({
            appId: Global.Facebook.apiKey,
            nativeInterface: CDV.FB,
            useCachedDialogs: false,           
        });

如果我从范围中删除该权限,一切正常。也许有人对如何解决此类问题有一些经验或想法?我在手机上调试我的应用程序(通过 USB 调试功能连接的三星 Galaxy S2),对于 IDE,我使用 adt-bundle 的 Android 开发人员工具(基本上是 eclipse);

提前谢谢了。

4

3 回答 3

1

我似乎已经找到了问题的根源。最初登录时,我无法请求写入(“发布”)权限。据我了解,我必须在初次登录后稍后再询问他们。这对我来说有点不舒服,因为我可能不得不在一个不好的用例中多次提示用户授予权限。也许我错过了一些已经提到所有这些东西的文档页面?

于 2013-07-01T08:53:10.350 回答
1

我成立了!!

转到 FacebookSDK 项目 -> 属性 -> Java 构建路径 -> 订购和导出(选项卡) -> 确保选中 android-support-v4.jar。然后进行清洁并启动...

伟大的 ?

于 2013-07-08T10:00:08.197 回答
0

在您的会话中使用它来获得发布和读取权限(扩展权限。)

session.reauthorizeForPublish

于 2013-08-15T01:44:53.013 回答