我想将MailChimp API集成到我的Java项目中。当我使用HttpURLConnection类调用Rest调用时,它使用401代码进行响应。Java中的MailChimp集成
这里是我的代码:
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使用基本身份验证。世界上有很多java的例子,比如[this](http://stackoverflow.com/questions/4883100/how-to-handle-http-authentication-using-httpurlconnection)。 – TooMuchPete