In questo capitolo continua la panoramica sulle "API del Web 2.0". Illustreremo l'utilizzo di alcuni dei più interessanti servizi Web 2.0 con Ruby. Vedremo nell'ordine YouTube, Flickr e Twitter.
Tra le tante gemme che permettono di utilizzare i vari servizi offerti da YouTube, illustreremo di seguito la gemma youtube che è un'interfaccia Ruby alle YouTube REST API.
Anche in questo caso per utilizzare le API è necessario un ID ottenibile dal sito youtube.com. Vediamo subito un esempio, lo stesso che abbiamo utilizzato per Yahoo! Video. Facciamo una ricerca sui tag e poi creiamo con i risultati una pagina Web con BlueCloth utilizzando gli attributi title, url e thumbnail_url di ogni video.
require 'rubygems'
require 'youtube'
require 'bluecloth'
APP_ID = 'your_youtube_id'
yt = YouTube::Client.new APP_ID
query = 'banhart'
videos = yt.videos_by_tag(query)
str = "# Video search for _#{query}_n"
videos.each do |v|
str << "[](#{v.url})n"
end
bc = BlueCloth::new(str)
puts bc.to_html
Oltre che attraverso i tag la ricerca può essere effettuata utilizzando altri criteri come l'ID, l'utente e vari altri:
videos_by_category_and_tagvideos_by_category_id_and_tagvideos_by_playlistvideos_by_relatedvideos_by_user
Per ogni ricerca è possibile indicare il numero di risultati che si intende ricevere, il valore di default è 20. Le ricerche restituiscono delle istanze della classe YouTube::Video che rappresenta i video ed ha i seguenti attributi: author, comment_count, description, embed_url, id, length_seconds, rating_avg, rating_count, tags, thumbnail_url, title, upload_time, url e view_count. Inoltre, attraverso il metodo video_details, è possibile ricavare altre utili informazioni per ogni video.
Utilissimo nello sviluppo di pagine Web è il metodo embed_html di YouTube::Video che restituisce il codice HTML necessario a inserire un video in una pagina Web, ad esempio:
<object width="425" height="344"> <param name="movie" value="http://www.youtube.com/v/5rAiLw_K1R0&hl=en"></param> <param name="wmode" value="transparent"></param> <embed src="http://www.youtube.com/v/5rAiLw_K1R0&hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed> </object>
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: