2010-03-19 35 views
12

Cuál es la forma más sencilla de obtener el título del video youtybe, por ejemplo, este título de vídeo:Obtener el título de vídeo de youtube con jQuery usando Youtube API

http://www.youtube.com/watch?v=Wp7B81Kx66o

Gracias!

+1

Tener un vistazo a esto: [Cómo llegar miniatura del enlace de vídeo de YouTube usando Youtube API] (http://stackoverflow.com/questions/2068344/how-to- get-thumbnail-of-youtube-video-link-using-youtube-api/2108248 # 2108248). Dice una miniatura, pero se puede obtener casi cualquier información disponible públicamente sobre un video. –

Respuesta

15

Uso jQuery's JSON llamada a la API de YouTube para obtener los resultados de vuelta y luego usar jQuery para poner los resultados donde se los quiero. Puedes usar la pestaña NET de firebug para asegurarte de que las solicitudes/los respoonses regresan correctamente y luego usar console.log() para asegurarte de que analizaste la respuesta correctamente.

por ejemplo. URL:

GET https://gdata.youtube.com/feeds/api/videos/(the-video-id)?v=2&alt=json

Más información:

YouTube API for a specific video

Developer's Guide: JSON/JavaScript

+6

ya no funciona –

+0

Esta es la API de YouTube v2 que ha quedado obsoleta, @AlexC por favor actualice la respuesta a continuación si la encuentra correcta –

4

Prueba esto:

<script type="text/javascript"> 
function showMyVideos(data) { 
    var feed = data.feed; 
    var entries = feed.entry || []; 
    var html = ['<ul>']; 
    for (var i = 0; i < entries.length; i++) { 
    var entry = entries[i]; 
    var title = entry.title.$t; 
    html.push('<li>', title, '</li>'); 
    } 
    html.push('</ul>'); 
    document.getElementById('videos').innerHTML = html.join(''); 
} 
</script> 

y esto en la parte del cuerpo:

<body> 
<div id="videos"> 
<script 
    type="text/javascript" 
    src="http://gdata.youtube.com/feeds/users/GoogleDevelopers/uploads?alt=json-in-script&format=5&callback=showMyVideos"> 
</script> 
</div> 
</body> 
-2

Pruebe esto para mostrar la imagen característica de Youtube frente a Jquery vista de lista.

<script> 
function showMyVideos(data) { 
    var feed = data.feed; 
    var entries = feed.entry || []; 
    var html = ['<ul data-role="listview">']; 
    for (var i = 0; i < entries.length; i++) { 
     var entry = entries[i]; 
     var title = entry.title.$t; 
     var feature = entry.content.$t.substring(entry.content.$t.indexOf("src=")+5); 
     feature = feature.substring(0,feature.indexOf('"')); 
     html.push('<li><img src="' ,feature , '" />' , title , '<p>' , feature, '</p></li>'); 
    } 
    html.push('</ul>'); 
    document.getElementById('videos').innerHTML = html.join(''); 
} 
</script> 

<div id="videos"> 
<script 
src="http://gdata.youtube.com/feeds/users/mostviewcomedy/uploads?alt=json-in-script&format=5&callback=showMyVideos"> 
</script> 
</div> 
+0

esto es malo porque aún está buscando todos los datos, solo quiere obtenerlos los datos correctos, como hacer todo el filtrado a través de los parámetros de solicitud, no del lado del cliente –

3

Se trata de una aplicación reacondicionado de la respuesta original proporcionado por el uso de la corriente @easement v3 YouTube Data API.

Para realizar una solicitud a la API, puede usar jQuery's getJSON() call para solicitar el título de YouTube a través de AJAX. Versión 3 del API de datos de YouTube proporciona 3 puntos finales que se pueden utilizar para obtener el título:

  1. Snippet Title - El título del vídeo. El valor de la propiedad tiene una longitud máxima de 100 caracteres y puede contener todos los caracteres UTF-8 válidos, excepto < y>.
  2. Snippet Localized Title - El título del video localizado, de nuevo con la longitud máxima descrita anteriormente
  3. Full Localized Title - El título del video de tamaño completo.

implementación de ejemplo usando fragmentos Título

var yt_api_key = {your YouTube api key}, 
 
    yt_video_id = {your YouTube video id}, 
 
    yt_snippet_endpoint = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=" + yt_video_id + "&key=" + yt_api_key; 
 

 
var jqxhr = $.getJSON(yt_snippet_endpoint) 
 
    .done(function(data) { 
 
    console.log("second success callback"); 
 
    var title = getTitle(data); 
 
    // do something with title here 
 
    }) 
 
    .fail(function() { 
 
    console.log("error, see network tab for response details"); 
 
    }); 
 

 
function getTitle(snippet_json_data){ 
 
    var title = snippet_json_data.title; 
 
    return title; 
 
}
punta

Depuración: Puede utilizar las herramientas de desarrollo para ver las solicitudes de red (es decir, Chrome's developer tools o Firefox's Firebug) para asegurarse de que las solicitudes/respuestas vuelven correctamente y luego use console.log() para registrar los datos devueltos para asegurarse analizaste la respuesta correctamente

Lectura adicional: YouTube Data API "getting started"

Cuestiones relacionadas