OAuth-Signpost 1.2 を使用して、Magento RESTful アプリケーションへのリクエストを認証しています。
GET リクエストは HttpURLConnection を使用するだけで簡単に実装できましたが、私の知る限り、POST リクエストの場合は Apache HttpComponents HttpClient などのライブラリも使用する必要がありました。しかし、私はそうする正しい方法を理解することができません。
私の現在のコードは次のとおりです。
public static void try2(OAuthConsumer consumer , String API_URL, String postInput) throws Exception{
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(API_URL);
try {
StringEntity input = new StringEntity(postInput);
input.setContentType("application/json");
postRequest.setEntity(input);
consumer.sign(postRequest);
HttpResponse response = httpClient.execute(postRequest);
if (response.getStatusLine().getStatusCode() != 201) {
System.out.println("Failure. Code: " + response.getStatusLine().getStatusCode());
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
しかし、私が得るのはエラー500だけです。
より一般的な方法では、私の質問は次のようになります:道標を使用してRESTfulアプリへのPOSTリクエストに署名するにはどうすればよいですか?