From 9f9c0612eb76f787260a7c11dda6ef8e493beda7 Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Thu, 29 May 2025 22:00:45 +0200 Subject: [PATCH] [AB-xxx] fixing youtube sometimes not returning videos even if specified --- .../youtube/service/YoutubeSearchServiceBean.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/youtube/service/YoutubeSearchServiceBean.java b/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/youtube/service/YoutubeSearchServiceBean.java index bac980bf9..c4d868efc 100644 --- a/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/youtube/service/YoutubeSearchServiceBean.java +++ b/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/youtube/service/YoutubeSearchServiceBean.java @@ -26,7 +26,7 @@ public class YoutubeSearchServiceBean implements YoutubeSearchService { @Override public YoutubeVideo searchOneVideoForQuery(String query) { try { - YouTube.Search.List search = youTube.search().list("id,snippet"); + YouTube.Search.List search = youTube.search().list("id"); search.setQ(query); search.setType("video"); search.setMaxResults(1L); @@ -35,6 +35,9 @@ public class YoutubeSearchServiceBean implements YoutubeSearchService { if(items.isEmpty()) { throw new YoutubeVideoNotFoundException(); } + if(items.stream().noneMatch(searchResult -> searchResult.getId().get("kind").equals("youtube#video"))) { + throw new YoutubeVideoNotFoundException(); + } return youtubeVideoService.getVideoInfo(items.get(0).getId().getVideoId()); } catch (IOException e) { throw new YoutubeAPIException(e);