Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim com.google.api.services.samples.youtube.cmdline.youtube_cmdline_search_sample As package
- Imports com.google.api.client.googleapis.json.GoogleJsonResponseException
- Imports com.google.api.client.http.HttpRequest
- Imports com.google.api.client.http.HttpRequestInitializer
- Imports com.google.api.client.http.HttpTransport
- Imports com.google.api.client.http.javanet.NetHttpTransport
- Imports com.google.api.client.json.JsonFactory
- Imports com.google.api.client.json.jackson2.JacksonFactory
- Imports com.google.api.services.youtube.YouTube
- Imports com.google.api.services.youtube.model.ResourceId
- Imports com.google.api.services.youtube.model.SearchListResponse
- Imports com.google.api.services.youtube.model.SearchResult
- Imports com.google.api.services.youtube.model.Thumbnail
- Imports java.io.BufferedReader
- Imports java.io.IOException
- Imports java.io.InputStream
- Imports java.io.InputStreamReader
- Imports java.util.Iterator
- Imports java.util.List
- Imports java.util.Properties
- Public Class Search
- Private Shared PROPERTIES_FILENAME As String = "youtube.properties"
- Private Shared HTTP_TRANSPORT As HttpTransport = New NetHttpTransport
- Private Shared JSON_FACTORY As JsonFactory = New JacksonFactory
- Private Shared NUMBER_OF_VIDEOS_RETURNED As Long = 25
- Private Shared youtube As YouTube
- Public Shared Sub main(ByVal args() As String)
- ' Read the developer key from youtube.properties
- Dim properties As Properties = New Properties
- Try
- Dim in As InputStream = Search.class.getResourceAsStream(("/" + PROPERTIES_FILENAME))
- properties.load(in)
- Catch e As IOException
- System.err.println(("There was an error reading " _
- + (PROPERTIES_FILENAME + (": " _
- + (e.getCause + (" : " + e.getMessage))))))
- System.exit(1)
- End Try
- Try
- ('TODO: Warning!!!! NULL EXPRESSION DETECTED...
- + setApplicationName("youtube-cmdline-search-sample").build)
- ' Get query term from user.
- Dim queryTerm As String = Search.getInputQuery
- Dim search As YouTube.Search.List = youtube.search.list("id,snippet")
- Dim apiKey As String = properties.getProperty("youtube.apikey")
- search.setKey(apiKey)
- search.setQ(queryTerm)
- search.setType("video")
- search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)")
- search.setMaxResults(NUMBER_OF_VIDEOS_RETURNED)
- Dim searchResponse As SearchListResponse = search.execute
- Dim searchResultList As List(Of SearchResult) = searchResponse.getItems
- If (Not (searchResultList) Is Nothing) Then
- Search.prettyPrint(searchResultList.iterator, queryTerm)
- End If
- Catch e As GoogleJsonResponseException
- System.err.println(("There was a service error: " _
- + (e.getDetails.getCode + (" : " + e.getDetails.getMessage))))
- Catch e As IOException
- System.err.println(("There was an IO error: " _
- + (e.getCause + (" : " + e.getMessage))))
- Catch t As Throwable
- t.printStackTrace
- End Try
- End Sub
- Private Shared Function getInputQuery() As String
- Dim inputQuery As String = ""
- System.out.print("Please enter a search term: ")
- Dim bReader As BufferedReader = New BufferedReader(New InputStreamReader(System.in))
- inputQuery = bReader.readLine
- If (inputQuery.length < 1) Then
- ' If nothing is entered, defaults to "YouTube Developers Live."
- inputQuery = "YouTube Developers Live"
- End If
- Return inputQuery
- End Function
- Private Shared Sub prettyPrint(ByVal iteratorSearchResults As Iterator(Of SearchResult), ByVal query As String)
- System.out.println(""& vbLf&"=============================================================")
- System.out.println((" First " _
- + (NUMBER_OF_VIDEOS_RETURNED + " videos for search on \"""" + query + ")), ".")
- System.out.println("============================================================="& vbLf)
- If Not iteratorSearchResults.hasNext Then
- System.out.println(" There aren't any results for your query.")
- End If
- While iteratorSearchResults.hasNext
- Dim singleVideo As SearchResult = iteratorSearchResults.next
- Dim rId As ResourceId = singleVideo.getId
- ' Double checks the kind is video.
- If rId.getKind.equals("youtube#video") Then
- Dim thumbnail As Thumbnail = singleVideo.getSnippet.getThumbnails.get("default")
- System.out.println((" Video Id" + rId.getVideoId))
- System.out.println((" Title: " + singleVideo.getSnippet.getTitle))
- System.out.println((" Thumbnail: " + thumbnail.getUrl))
- System.out.println(""& vbLf&"-------------------------------------------------------------"& vbLf)
- End If
- End While
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement