2012-03-11 10 views
1

私は壁にリンクされたfacebook POSTを作るためにJavaサーブレットを使用しています。POSTオブジェクトのfacebook形式(壁まで)

これまでのところ、facebook apiの名前/値ペアの内訳は、キーが常に文字列であり、値は通常文字列であるということです。

だからメッセージを投稿POSTためのPOSTのボディは、次のようになります。

message=hello 

だからPOSTデータは、名前/値のペアを持つGETリクエストと同じ形式であろう。値はURLエンコードされます。

ただし、フィードや投稿のレコードの「アプリケーション」フィールドのような配列やオブジェクトの値に問題があります。これはどのようにコード化されますか?配列はどのようにコード化されますか?

アンディ

答えて

0

あなたは "GET" ではない "POST" をやっているでしょう。したがって、パラメータはURLエンコードされません。あなたはあなたが言ったJavaを使用している?あなたの "POST"は次のようになります:

URL url = new URL(https://graph.facebook.com/<username>/feed); 
HttpURLConnection connection = (HttpURLConnection) url 
        .openConnection(); 
connection.setDoOutput(true); 
connection.setRequestMethod("POST"); 

OutputStreamWriter writer = new OutputStreamWriter(
        connection.getOutputStream()); 
writer.write("access_token=" + access_token + "&message=hello"); 
      writer.close(); 

writer.close(); 
+0

私はapplication/x-www-form-urlencodedを使用するつもりでした。したがって、URLエンコードされます。私の質問は、「アプリケーション」のようなFacebookのオブジェクトをどうするかということでした。 –

+0

別の質問が先です。フィード接続を使用していると言いますか?あなたはフィードが廃止されていることを知っていますか?フィード\t "廃止予定2012年3月1日に削除されます。アプリケーションの壁です。" http://developers.facebook.com/docs/reference/api/application/ – DavidB

+0

これは、publish_stream権限が与えられているため、アプリケーションが壁や友だちの壁に公開できなくなることを意味しますか? –

関連する問題