我正在开发一个与Facebook SDK集成的Android应用程序。
首先,我使用Graph API获取Facebook页面的提要,这很好。我想让用户喜欢&发布针对每个Feed的评论。
我正在使用赞
的以下代码段Bundle parameters = new Bundle();
parameters.putString("access_token", access_token);
String response = null;
String id = <Target Feed ID>;
try {
response = facebook.request(id+"/likes", parameters, "POST");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("FB Like Output", ""+response);
但是我在下一行得到NullPointerException:
response = facebook.request(id+"/likes", parameters, "POST");
请注意,仅当我使用“POST”或“DELETE”作为第3个参数时才会出现此错误。相反,如果我正在使用GET,我会得到一个正确的回应(然而,这不符合我的目的)。
另外,我添加了相关权限,例如 publish_stream 。
这是使用HTTP POST方法发出同步请求的正确语法吗?
04-25 16:29:08.332: E/AndroidRuntime(710): FATAL EXCEPTION: main
04-25 16:29:08.332: E/AndroidRuntime(710): java.lang.NullPointerException
04-25 16:29:08.332: E/AndroidRuntime(710): at java.net.URLDecoder.decode(URLDecoder.java:130)
04-25 16:29:08.332: E/AndroidRuntime(710): at java.net.URLDecoder.decode(URLDecoder.java:68)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.facebook.android.Util.openUrl(Util.java:186)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.facebook.android.Facebook.requestImpl(Facebook.java:806)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.facebook.android.Facebook.request(Facebook.java:794)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.test.myapp.adapters.FacebookAdapter$1.onClick(FacebookAdapter.java:107)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.view.View.performClick(View.java:2408)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.view.View$PerformClick.run(View.java:8816)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.os.Handler.handleCallback(Handler.java:587)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.os.Looper.loop(Looper.java:123)
04-25 16:29:08.332: E/AndroidRuntime(710): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-25 16:29:08.332: E/AndroidRuntime(710): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 16:29:08.332: E/AndroidRuntime(710): at java.lang.reflect.Method.invoke(Method.java:521)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-25 16:29:08.332: E/AndroidRuntime(710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-25 16:29:08.332: E/AndroidRuntime(710): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
如https://developers.facebook.com/docs/reference/api/publishing/所示,
与给定对象一样(如果它有/喜欢连接)
您无法在https://developers.facebook.com/docs/reference/api/page/
上找到/喜欢连接您不能喜欢粉丝专页,而且代码会导致问题
String id = <Facebook Page ID>;