私のJavaプロジェクトにMailChimp APIを統合したい。 HttpURLConnectionクラスを使ってRest Callを呼び出すと、401コードで応答します。ここでMailChimpとJavaの統合
私のコードです:
URL url = new URL("https://us13.api.mailchimp.com/3.0/lists");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "apikey <my-key>");
String input = "<json data>";
OutputStream os = conn.getOutputStream();
//os.write(input.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
こんにちは、お返事ありがとうございます。はい、私は問題がAPIキーを渡す方法であることを知っています。 MailChimp APIをチェックしたところ、JavaでAPIキーを渡して認証する方法の例はありません。 – user3759750
それはHTTPだから私の最初の推測はHTTPの基本認証ヘッダーを設定することです。 – duffymo
MailChimp APIは基本認証を使用します。 [this one](http://stackoverflow.com/questions/4883100/how-to-handle-http-authentication-using-httpurlconnection)のように、世界にそれのJavaの例がたくさんあります。 – TooMuchPete