How to search video from youtube data API in Android

I am developing an Android application that needs to search for a YouTube video by keyword. I used the Youtube data API with the code below:

try { youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() { public void initialize(HttpRequest request) throws IOException { } }).setApplicationName("YoutubeQoE").build(); // Define the API request for retrieving search results. YouTube.Search.List search = youtube.search().list("id,snippet"); // Set your developer key from the Google Cloud Console for // non-authenticated requests. See: // https://cloud.google.com/console search.setKey(DeveloperKey.DEVELOPER_KEY); search.setQ("dogs"); // Restrict the search results to only include videos. See: // https://developers.google.com/youtube/v3/docs/search/list#type search.setType("video"); // To increase efficiency, only retrieve the fields that the // application uses. //search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)"); search.setMaxResults(25); SearchListResponse searchResponse = search.execute(); List<SearchResult> lista = searchResponse.getItems(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } catch (IOException e) { System.err.println("There was an IO error: " + e.getCause() + " : " + e.getMessage()); } catch (Throwable t) { t.printStackTrace(); } 

For de DEVELOPER_KEY, I used the open API on the Google Developer Console.

But when I run the program, there is a problem in the line:

SearchListResponse searchResponse = search.execute ();

In android manifest.xml, I have these permissions:

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

I would really appreciate if anyone can help me

+7
android youtube youtube-api android-youtube-api
source share
2 answers

You can compare your project with YouTube Direct Lite for Android . Yes, instead of OAuth2, setting an API key is enough.

+2
source share

Another way to achieve this would be to get results from this:

 https://www.googleapis.com/youtube/v3/search?part=snippet&q=eminem&type=video&key=<key> 

You can play with the options to get what you really need. You also need an API key from https://console.developers.google.com/ .

+12
source share

All Articles