我正在使用Phonegap for Android,我刚刚将Facebook插件(https://github.com/phonegap/phonegap-facebook-plugin)集成到我的项目中。我需要获得一个可以发送到服务器的AccessToken,以便服务器可以代表用户发布。
当我第一次调用FB.login(回调,{范围:'电子邮件,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开发者工具(基本日食);
非常感谢提前。
答案 0 :(得分:1)
我似乎已经解决了问题的根源。最初登录时,我不能要求写入("发布")权限。据我所知,我必须在初次登录后再问他们。这对我来说很不舒服,因为我可能不得不在单个用例期间多次提示用户权限,这很糟糕。也许我错过了一些文档页面,其中已经提到了所有这些内容?
答案 1 :(得分:1)
我成立了!!
转到FacebookSDK项目 - >属性 - > Java构建路径 - >订单和出口(标签) - >确保选中android-support-v4.jar。然后做一个干净的发射......
太棒了?
答案 2 :(得分:0)
在会话中使用此选项以获取发布和读取权限(扩展权限。)
session.reauthorizeForPublish