How to search videos with youtube data API in Android

android, android-youtube-api, youtube, youtube-api

Solution

You can compare your project against YouTube Direct Lite for Android. Yes, instead of OAuth2, setting API key would be enough.

Problem

I'm developing an application in Android which needs to search for videos of YouTube by Keyword. I have used 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 have used a public API access at google developer console. But when I execute the program there is a problem in the line: SearchListResponse searchResponse = search.execute(); In the 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 be very grateful if anybody could help me

Original source

Related problems