Когда я запускаю код в Android Studio, этот метод всегда возвращает -1 и не печатает «Данные ответа поиска», хотя его можно корректно запустить в Intellij. Я использую Genius API из «https://rapidapi.com/Glavier/api/genius-song-lyrics1» для поиска идентификатора песни, а затем использую идентификатор песни для поиска текста. Пожалуйста, помогите мне это исправить!
private static int searchSong(String title) throws Exception {
OkHttpClient client = new OkHttpClient();
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://genius-song-lyrics1.p.rapidapi.com/search/").newBuilder();
urlBuilder.addQueryParameter("q", title);
urlBuilder.addQueryParameter("per_page", "10");
urlBuilder.addQueryParameter("page", "1");
Request request = new Request.Builder()
.url(urlBuilder.build())
.get()
.addHeader("X-RapidAPI-Key", API_KEY)
.addHeader("X-RapidAPI-Host", HOST)
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
String responseData = response.body().string();
Log.e("Search Response Data", responseData); // Print the response data for debugging
JSONObject jsonObject = new JSONObject(responseData);
if (jsonObject.has("hits")) {
JSONArray hits = jsonObject.getJSONArray("hits");
if (hits.length() > 0) {
JSONObject firstHit = hits.getJSONObject(0);
return firstHit.getJSONObject("result").getInt("id");
}
}
else {
System.out.println("No 'response' key found in JSON");
}
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
public String lyrics(String songTitle) throws Exception {
int songId = searchSong(songTitle);
System.out.println("fiajofjeapfjieis" + songId);
if (songId != -1) {
String htmlLyrics = getLyrics(songId);
String lyrics = htmlLyrics.replaceAll("]+>", "");
return lyrics;
} else {
return ("Guess the lyrics yourself!!");
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... rch-songid
Ошибка при использовании Genius API для поиска songID ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1716131822
Anonymous
Когда я запускаю код в Android Studio, этот метод всегда возвращает -1 и не печатает «Данные ответа поиска», хотя его можно корректно запустить в Intellij. Я использую Genius API из «https://rapidapi.com/Glavier/api/genius-song-lyrics1» для поиска идентификатора песни, а затем использую идентификатор песни для поиска текста. Пожалуйста, помогите мне это исправить!
private static int searchSong(String title) throws Exception {
OkHttpClient client = new OkHttpClient();
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://genius-song-lyrics1.p.rapidapi.com/search/").newBuilder();
urlBuilder.addQueryParameter("q", title);
urlBuilder.addQueryParameter("per_page", "10");
urlBuilder.addQueryParameter("page", "1");
Request request = new Request.Builder()
.url(urlBuilder.build())
.get()
.addHeader("X-RapidAPI-Key", API_KEY)
.addHeader("X-RapidAPI-Host", HOST)
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
String responseData = response.body().string();
Log.e("Search Response Data", responseData); // Print the response data for debugging
JSONObject jsonObject = new JSONObject(responseData);
if (jsonObject.has("hits")) {
JSONArray hits = jsonObject.getJSONArray("hits");
if (hits.length() > 0) {
JSONObject firstHit = hits.getJSONObject(0);
return firstHit.getJSONObject("result").getInt("id");
}
}
else {
System.out.println("No 'response' key found in JSON");
}
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
public String lyrics(String songTitle) throws Exception {
int songId = searchSong(songTitle);
System.out.println("fiajofjeapfjieis" + songId);
if (songId != -1) {
String htmlLyrics = getLyrics(songId);
String lyrics = htmlLyrics.replaceAll("]+>", "");
return lyrics;
} else {
return ("Guess the lyrics yourself!!");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78502868/error-when-using-genius-api-to-search-songid[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия