Как решить "org.json и документ не может быть разрешен для типа" - PullRequest
0 голосов
/ 31 октября 2018

Я хочу попробовать что-то похожее на это: https://www.joe0.com/2016/03/05/youtube-data-api-v3-how-to-search-youtube-using-java-and-extract-video-id-of-the-most-relevant-result/,, но я понял, что эти библиотеки не работают с новыми настройками YouTube, и когда я импортирую библиотеку JSOUP, Java говорит, что не может импортировать первую строку , Как я могу сделать тот же алгоритм?

изменить 1: мои проблемы: в строке 4, org, json не может быть разрешен строки 12 и 14 документа не могут быть преобразованы в тип

и в строке 17

мой код:

package buscador;

import org.jsoup.Jsoup;
import org.json.JSONTokener;

public class Search_YT {
    String keyword = "how to make apple pie filling" 
    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"));

}

1 Ответ

0 голосов
/ 31 октября 2018

Для вашего первоначального вопроса:

"Как я могу искать в 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"));

}
...