- Баллы
- 76
- Имя в Minecraft
- Todorov26
Балуюсь с ютуб api, пытаюсь получить текст и засунуть в название предмета.
Немного кода:
/*Получение данных*/
/*Получение названия видоса*/
/*Вставка в инвентарь*/
YouTube api (По крайней мере в браузере) передает в utf-8
А в инвентаре происходит какая-то хрень...

Абсолютно не знаю что делать! Надеюсь кто-то мне поможет =(
Немного кода:
/*Получение данных*/
Код:
public String getData(String urlAddress) {
StringBuilder get = new StringBuilder();
try {
HttpURLConnection url = (HttpURLConnection)(new URL(urlAddress)).openConnection();
url.setDoOutput(true);
url.setRequestProperty("User-Agent", "Mozilla/5.0 ( compatible ) ");
url.setRequestProperty("Accept", "*/*");
url.setRequestProperty("Accept-Charset", "utf-8");
InputStream inputStream = (url.getResponseCode() >= 400) ? url.getErrorStream() : url.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
bufferedReader.lines().forEach(get::append);
bufferedReader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return get.toString();
}
/*Получение названия видоса*/
Код:
public String getTitle(String url){
String title =
new JsonParser().parse(api.getData(api.URI_REQUEST.replace("{token}", api.youtubeToken).replace("{id}", url.split("v=")[1]))).getAsJsonObject().get("items").getAsJsonArray().get(0).getAsJsonObject().get("snippet").getAsJsonObject().get("localized").getAsJsonObject().get("title").getAsString();
try {
title = new String(title.getBytes("Cp1251"), StandardCharsets.UTF_8);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return (title.length() >= 52) ? title.substring(0, 52).concat("..") : title;
}
Код:
String name = getTitle("https://www.youtube.com/watch?v=n39_W18m_pA");
ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
SkullMeta meta = (SkullMeta)item.getItemMeta();
meta.setDisplayName(Utils.color(name));
item.setItemMeta(meta);
inventory.addItem(item);
YouTube api (По крайней мере в браузере) передает в utf-8
А в инвентаре происходит какая-то хрень...
Абсолютно не знаю что делать! Надеюсь кто-то мне поможет =(