Для вашего первоначального вопроса:
"Как я могу искать в YouTube, используя Java и получить наиболее подходящее видео
Идентификатор "
вам действительно нужно разработать свой собственный поисковый алгоритм, я не думаю, что кто-то здесь напишет вам такое. Я могу дать вам советы, если вы хотите:
- Вы можете искать определенный термин, получить список видео, а затем перейти к названию каждого видео и посмотреть, содержит ли оно ключевое слово. Не очень сложно, но только для вас, чтобы начать свое путешествие: D
Далее:
Я думаю, что Document - это класс Jsoup. Просто импортируйте это. Нажмите на эту лампу слева от нее и нажмите «импорт», поскольку вы уже успешно добавили Jsoup в свой проект.
Двигаемся дальше:
Для класса JSONObject вам нужна библиотека gson. Если вы используете gradle, вы можете просто добавить его так:
dependencies {
//other implementations
//...
implementation 'com.google.code.gson:gson:2.8.1'
//^^^^this line adds gson to your project
}
Или вот ссылка на скачивание библиотек gson:
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.2/
(уверен, что вам нужен "gson-2.8.2.jar", а не javadoc)
Что бы ни служило тебе больше
Кроме того, в строке 7 пропущена точка с запятой:
String keyword = "how to make apple pie filling";
// ^ see that?
дальше Я почти уверен, что вы не можете переназначить ценности на уровне класса, вам нужно сделать это с помощью метода: keyword = keyword.replace...blabla
создайте такой метод, например, внутри вашего класса:
public void hello() {
keyword =keyword.replace(" ","+");
String url = "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&order=rating&q=" + keyword + "&key=\r\n" + "AIzaSyAHcCYRDLHQH1SBAoydbZqcfb4iVEn11tI";
Document doc = Jsoup.connect(url).timeout(10 * 1000).get();
String getJson = doc.text();
JSONObject jsonObject = (JSONObject) new JSONTokener(getJson).nextValue();
System.out.println(jsonObject.getString("videoId"));
}