2

Facebook SDK と統合された Android アプリを開発しています。

まず、Graph API を使用して Facebook ページのフィードを取得していますが、これは正常に機能しています。ユーザーが各フィードに対していいね&コメントを投稿できるようにしたい。

Likeに次のコードスニペットを使用しています

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");

このエラーは、3 番目のパラメーターとして「POST」または「DELETE」を使用している場合にのみ発生することに注意してください。代わりに、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)
4

1 に答える 1