Thumbnail thumbnail = singleVideo.getSnippet().getThumbnails().getDefault(); System.out.println( " Title: " + singleVideo.getSnippet().getTitle() ); System.out.println( " Description: " + singleVideo.getSnippet().getDescription() ); System.out.println( " Thumbnail: " + thumbnail.getUrl() ); System.out.println( "\n-------------------------------------------------------------\n" );
public List<SimpleResult> getResults(String query, int numresults) { List<SimpleResult> urls = new ArrayList<>(); search.setQ(query); search.setMaxResults((long) numresults); SearchListResponse searchResponse; try { searchResponse = search.execute(); List<SearchResult> searchResultList = searchResponse.getItems(); searchResultList.forEach((sr) -> urls.add(new SimpleResult(sr.getId().getVideoId(), sr.getSnippet().getTitle()))); } catch (GoogleJsonResponseException e) { if (e.getMessage().contains("quotaExceeded") || e.getMessage().contains("keyInvalid")) { if (setupNextKey()) { return getResults(query, numresults); } } else { Launcher.logToDiscord(e, "youtube-search-error", "<--", "code", e.getDetails().getCode(), "message", e.getDetails().getMessage()); } } catch (IOException ex) { DiscordBot.LOGGER.error("YTSearch failure: " + ex.toString()); return null; } return urls; }
private List<YoutubeInfo> convertTo( Iterator<SearchResult> iteratorSearchResults ) { List<YoutubeInfo> results = new ArrayList<YoutubeInfo>(); if ( !iteratorSearchResults.hasNext() ) { return results; } while ( iteratorSearchResults.hasNext() ) { SearchResult singleVideo = iteratorSearchResults.next(); ResourceId rId = singleVideo.getId(); // Confirm that the result represents a video. Otherwise, the // item will not contain a video ID. if ( rId.getKind().equals( "youtube#video" ) ) { YoutubeInfo yi = new YoutubeInfo(); yi.thumbnail = singleVideo.getSnippet().getThumbnails().getDefault().getUrl(); yi.id = rId.getVideoId(); yi.title = singleVideo.getSnippet().getTitle(); yi.description = singleVideo.getSnippet().getDescription(); results.add( yi ); } } return results; }