gpt4 book ai didi

java - Java 中的 MailChimp 集成

转载 作者:行者123 更新时间:2023-12-01 18:04:28 26 4
gpt4 key购买 nike

我想将 MailChimp API 集成到我的 java 项目中。当我使用 HttpURLConnection 类调用 Rest 调用时,它会响应 401 代码。

这是我的代码:

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

最佳答案

我建议使用Apache Commons Codec用于编码的包。支持Base64、十六进制等多种格式。

之前我也遇到过同样的问题。我正在分享我在应用程序中用于对 Mailchimp API v-3.0 进行身份验证的代码

//basic imports
import org.apache.commons.codec.binary.Base64;
.
.
.
//URL to access and Mailchimp API key
String url = "https://us9.api.mailchimp.com/3.0/lists/";
//mailchimp API key
String apikey = xxxxxxxxxxxxxxxxxxxxxxxxxxx

// Authentication PART

String name = "Anything over here!";
String password = apikey; //Mailchimp API key
String authString = name + ":" + password;

byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
String authStringEnc = new String(authEncBytes);

URL urlConnector = new URL(url);
HttpURLConnection httpConnection = (HttpURLConnection) urlConnector.openConnection();
httpConnection.setRequestMethod("GET");
httpConnection.setDoOutput(true);
httpConnection.setDoInput(true);
httpConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
httpConnection.setRequestProperty("Accept", "application/json");
httpConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);

InputStream is1 = httpConnection.getInputStream();
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(is1, "utf-8"));

String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();

现在您可以使用 StringBuilder 对象sb根据需要解析输出

希望它能解决您的问题:)

关于java - Java 中的 MailChimp 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com