youtube api - Would it be possible to fetch videos on a certain tag published between certain dates -



youtube api - Would it be possible to fetch videos on a certain tag published between certain dates -

we utilize google-api-java-client lookup videos , know if possible fetch videos on tag (say sports) published between dates (starting yesterday till now). how do this?

i able using google-api-client 1.6.0-beta (downloaded via maven). modified illustration code little. api had changed since illustration code written. added query parameters youtube api reference guide , extended video class include couple more fields. if @ raw json returned query see add together several others fields including thumbnails, duration, aspect ratio, comment count etc. hope helps.

import com.google.api.client.googleapis.googleheaders; import com.google.api.client.googleapis.json.jsoncparser; import com.google.api.client.http.*; import com.google.api.client.http.javanet.nethttptransport; import com.google.api.client.json.jsonfactory; import com.google.api.client.json.jackson.jacksonfactory; import com.google.api.client.util.key; import java.io.ioexception; import java.util.list; public class youtubesample { public static class videofeed { @key list<video> items; } public static class video { @key string title; @key string description; @key player player; @key string uploaded; @key string category; @key string[] tags; } public static class player { @key("default") string defaulturl; } public static class youtubeurl extends genericurl { @key final string alt = "jsonc"; @key string author; @key("max-results") integer maxresults; @key string category; @key string time; youtubeurl(string url) { super(url); } } public static void main(string[] args) throws ioexception { // set http request mill httptransport transport = new nethttptransport(); final jsonfactory jsonfactory = new jacksonfactory(); httprequestfactory mill = transport.createrequestfactory(new httprequestinitializer() { @override public void initialize(httprequest request) { // set parser jsoncparser parser = new jsoncparser(jsonfactory); request.addparser(parser); // set google headers googleheaders headers = new googleheaders(); headers.setapplicationname("google-youtubesample/1.0"); headers.gdataversion = "2"; request.setheaders(headers); } }); // build youtube url youtubeurl url = new youtubeurl("https://gdata.youtube.com/feeds/api/videos"); url.maxresults = 10; url.category = "sports"; // time options: today, this_week, this_month, all_time url.time = "today"; // build http request httprequest request = factory.buildgetrequest(url); // execute request , parse video feed videofeed feed = request.execute().parseas(videofeed.class); // useful viewing raw json results //system.out.println(request.execute().parseasstring()); (video video : feed.items) { system.out.println(); system.out.println("video title: " + video.title); system.out.println("description: " + video.description); system.out.println("play url: " + video.player.defaulturl); system.out.println("uploaded: " + video.uploaded); system.out.println("category: " + video.category); system.out.print("tags: "); for(string tag: video.tags){ system.out.print(tag + " "); } system.out.println(); } } }

youtube-api google-api-java-client

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -