As usual, we can use Groovy (or just translate this quite easily, excusing the try/catch/finally/close stuff, to Java) to do it! import groovy.json.JsonSlurper def apiKey = "GET_ONE_API_KEY_FROM_GOOGLE" def videoId = "e6Q1gLFWhhY" def url = "https://www.googleapis.com/youtube/v3/videos?" + "id=${videoId}&key=${apiKey}&part=snippet,contentDetails,statistics,status" def connection = new URL( url ).openConnection() if ( connection.responseCode == connection.HTTP_OK ) { def json = new JsonSlurper().parseText( connection.inputStream.text ) // print some basic information about the video println "Video '${json.items[0].snippet.title}' was published by " + "'${json.items[0].snippet.channelTitle}' at '${json.items[0].snippet.publishedAt}" } else { println "ERROR ${connection.responseCode}" } The Maven API Details of the Maven API can be found here. import static java.net.URLEncoder.encode def parse = new groovy.json.JsonSlurper().&parseText final MAVEN_URL = "http://search.maven.org/solrsearch/select?q=" final searchBy = [ 'general': '', 'className': 'c', 'groupId': 'g' ] def search = { type, query -> parse( ( MAVEN_URL + searchBy[ type ] + ":${encode( query )}&rows=5&wt=json" ).toURL().text ) } def printJson = { json -> json.response.docs.each { println "$it.id:$it.latestVersion" } } // Example queries printJson search( 'className', 'HttpClient' ) printJson search( 'general', 'google guava' ) printJson search( 'groupId', 'org.codehaus.groovy' ) Accessing the Official.fm API with JavaScript Documentation about the Official.fm API can be found here. // create a XMLHttpRequest Object in any browser var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } // response callback xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var json = JSON.parse( xmlhttp.responseText ); // put the results in the #results html node document.getElementById("results").innerHTML= htmlFromJson(json); } } // retrieve the search text from the #searchBox node and query for tracks var searchText = document.getElementById("searchBox").value; var query = encodeURIComponent(searchText); xmlhttp.open("GET", "http://api.official.fm/tracks/search?q=" + query + "&types=original,remix,cover,embed&api_version=2", true); xmlhttp.send(); // helper function that converts Json to HTML function htmlFromJson(json) { var res = ""; if (json.tracks.length == 0) { return "<div>Nothing found</div>" } for (i in json.tracks) { res += "<div>" + json.tracks[i].track.title + "</div>" } return res; } |
Code >