YahooVideo
è un'interfaccia verso Yahoo Video, il motore di ricerca dedicato ai video. Anche per interfacciarci a questo servizio abbiamo bisogno dell'application ID.
Sul developer network di Yahoo troviamo la documentazione delle API ed alcuni esempi dello scambio di messaggi con server.
Facciamo un semplice esempio ed iniziamo installando la libreria yahoo-video con il classico comando rubygems:
% gem install --include-dependencies yahoo-video
Ora scriviamo uno spezzone di codice che ci consenta di utilizzare i risultati per creare una pagina HTML:
require 'rubygems' require 'yahoo-video' require 'bluecloth' APP_ID = "YourYahooApplicationID" query = ARGV[0] client = YahooVideo::Client.new APP_ID request = YahooVideo::SearchRequest.new :query => query response = client.search request str = "# Video search for _#{query}_n" response.results.each do |res| str << "[![#{res.title}](#{res.thumbnail.url})](#{res.url})n" end bc = BlueCloth::new(str) puts bc.to_html
Lo schema dell'applicazione è molto semplice. Creiamo un nuovo client YahooVideo
utilizzando il nostro Application ID, poi creiamo una nuova istanza di SearchRequest
passandogli il termine da cercare e infine eseguiamo la ricerca vera e propria utilizzando il metodo search
del client
. La ricerca può essere anche resa più precisa utilizzando gli attributi opzionali di SearchRequest
.
Il risultato è restituito sotto forma di istanza della classe SearchResponse
dalla quale otteniamo la lista di risultati contenuta nell'attributo "results
" di tipo SearchResult
.
I risultati li formattiamo in modo che BlueCloth
sia in grado di creare una pagina HTML utilizzando per ogni video trovato gli attributi title
, thunbnail.url
e url
; l'elenco completo degli attributi è ottenibile attraverso
ri YahooVideo::SearchResult