Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 29 di 32
  • livello principiante
Indice lezioni

YouTube

Integrare nelle nostre applicazioni la ricerca nel più grande contenitore di video online
Integrare nelle nostre applicazioni la ricerca nel più grande contenitore di video online
Link copiato negli appunti

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.title}](#{v.thumbnail_url})](#{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_tag
  • videos_by_category_id_and_tag
  • videos_by_playlist
  • videos_by_related
  • videos_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>

Ti consigliamo anche