В настоящее время я пытаюсь запрограммировать бота в Discord, используя Java, и сейчас пытаюсь заставить его играть музыку c, используя предоставленный поисковый запрос.
Для этого мне нужно получите идентификатор видео первого результата и включите его в правильную форму URL. Я уже пытался сделать это через API данных YouTube v3 и подошел довольно близко, но по какой-то причине он вызывает исключение.
Это мой код до сих пор. (взято из здесь )
if(!isValidURL(identifier)) { //checks if the provided argument should be interpreted as a search term
try {
String keyword = identifier;
keyword = keyword.replace(" ", "+");
String url = "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&order=rating&q=" + keyword + "&key=MY_KEY";
Document doc = Jsoup.connect(url).timeout(1000).get(); //May throw IOException, hence the try/catch
String getJson = doc.text();
JSONObject jsonObject = (JSONObject) new JSONTokener(getJson ).nextValue();
identifier = "https://www.youtube.com/watch?v=" + jsonObject.getString("videoId"); //finished URL
} catch (IOException e) {
e.printStackTrace();
}
}
И это сообщение об ошибке. (UnsupportedMimeTypeException
)
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/json; charset=UTF-8, URL=https://www.googleapis.com/youtube/v3/search?part=snippet...
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:770)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:705)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:295)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:284)