#java #api #imgur
Вопрос:
import org.apache.hc.client5.http.classic.methods.HttpPost;
import org.apache.hc.client5.http.entity.UrlEncodedFormEntity;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.http.NameValuePair;
import org.apache.hc.core5.http.message.BasicNameValuePair;
import shareJ.FileHandler;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
public class ImgurUpload {
public static String URL = "https://api.imgur.com/3/upload";
String clientID = KeysAPI.IMGUR_CLIENT_ID;
String clientSecret = KeysAPI.IMGUR_SECRET;
public ImgurUpload(Path p) {
System.out.println(clientID);
try {
CloseableHttpClient client = HttpClients.createDefault();
HttpPost request = new HttpPost(URL);
request.addHeader("Authorization", "Client-ID " clientID);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("image", FileHandler.getBase64(p)));
request.setEntity(new UrlEncodedFormEntity(params, StandardCharsets.UTF_8));
HttpResponse response = client.execute(request);
System.out.println(response.getCode());
System.out.println(response.getReasonPhrase());
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Кто-нибудь знает, что я делаю не так? Я все время получаю код ошибки 500. Я проверил значение base64 и идентификатор клиента, поэтому я знаю, что проблема не в этом. Я ввожу неправильные значения для полей?