¿Cómo obtengo el título de un video de youtube si tengo el Id. De video?

Estoy jugando ahora con la API de Youtube y comencé un pequeño proyecto (por diversión).

El problema es que no puedo encontrar la manera de get el Título de un video de Id. (ejemplo: ylLzyHk54Z0)

He buscado en la documentation de la API DATA y PLAYER y no puedo encontrarlo.

Si alguien sabe cómo hacer esto o si alguien puede ayudarme a encontrar la manera de hacerlo, por favor, ayúdeme.

NOTA: estoy usando javascript. Será una aplicación web.

EDITAR: Tengo una Idea. Tal vez usando una expresión Regular para analizar el título del título de la página. Estoy trabajando en esto.

No es completamente posible en javascript ya que está tratando de get un documento de un dominio diferente. Si estás feliz de echar un poco de php testing esto. Probado bien:

<? $vidID = $_POST['vidID']; $url = "http://gdata.youtube.com/feeds/api/videos/". $vidID; $doc = new DOMDocument; $doc->load($url); $title = $doc->getElementsByTagName("title")->item(0)->nodeValue; ?> <html> <head> <title>Get Video Name</title> </head> <body> <form action="test.php" method="post"> <input type="text" value="ID Here" name="vidID" /> <input type="submit" value="Get Name" /> </form> <div id="page">URL: [<?= $url ?>]</div> <div id="title">Title: [<?= $title ?>]</div> </body> </html> 

Así es como puedes hacerlo con JavaScript y la API de datos de YouTube V3.

 var ytApiKey = "..."; var videoId = "ylLzyHk54Z0"; $.get("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=" + videoId + "&key=" + ytApiKey, function(data) { alert(data.items[0].snippet.title); }); 

Puede usar una request JSON a: http://gdata.youtube.com/feeds/api/videos/ylLzyHk54Z0?v=2&alt=jsonc

Llame a http://gdata.youtube.com/feeds/api/videos/ylLzyHk54Z0 .

En este file XML, lea el valor de la label <title> .

Documentación de YouTube Api

Esta respuesta es precisa a partir de diciembre de 2015.

Para get el título del video de una identificación de video de YouTube, deberá build la siguiente URL, utilizando la API de datos de YouTube (se requiere que use una key API, de lo contrario, la request fallará):

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={YOUTUBE_VIDEO_ID}&fields=items(id%2Csnippet)&key={YOUR_API_KEY}

Haz una request GET y obtendrás una respuesta JSON similar al fragment a continuación. Para el título, existe en la key de snippet/title .

 { "items":[ { "id":"Jglv0A0qLI8", "snippet":{ "publishedAt":"2014-06-30T03:42:20.000Z", "channelId":"UCdTU5vd37FlTZ-xoB0xzRDA", "title":"AIA Malaysia - A-Plus Venus Plan - Comprehensive Female Protection and Insurance Plan", "description":"A comprehensive female protection plan for the modern women\n\nFor more information visit: http://www.aia.com.my/en/individuals/products-and-services/health/a-plus-venus-a-plus-venus-extra.html\n\nFor more products, visit AIA Malaysia's Products and Services playlist:\nhttps://www.youtube.com/playlist?list=PLSrgVT3aQ1fZ3SCe-dEVnFJDApBYkqolP\n\nFor more videos. subscribe to AIA Malaysia's YouTube channel:\nhttps://www.youtube.com/channel/UCdTU5vd37FlTZ-xoB0xzRDA", "thumbnails":{ "default":{ "url":"http://img.javascriptes.com/title/default.jpg", "width":120, "height":90 }, "medium":{ "url":"http://img.javascriptes.com/title/mqdefault.jpg", "width":320, "height":180 }, "high":{ "url":"http://img.javascriptes.com/title/hqdefault.jpg", "width":480, "height":360 }, "standard":{ "url":"http://img.javascriptes.com/title/sddefault.jpg", "width":640, "height":480 }, "maxres":{ "url":"http://img.javascriptes.com/title/maxresdefault.jpg", "width":1280, "height":720 } }, "channelTitle":"AIA Malaysia", "tags":[ "aia", "aia malaysia", "a-plus venus", "female health insurance", "female life insurance", "female insurance", "female medical insurance" ], "categoryId":"27", "liveBroadcastContent":"none", "localized":{ "title":"AIA Malaysia - A-Plus Venus Plan - Comprehensive Female Protection and Insurance Plan", "description":"A comprehensive female protection plan for the modern women\n\nFor more information visit: http://www.aia.com.my/en/individuals/products-and-services/health/a-plus-venus-a-plus-venus-extra.html\n\nFor more products, visit AIA Malaysia's Products and Services playlist:\nhttps://www.youtube.com/playlist?list=PLSrgVT3aQ1fZ3SCe-dEVnFJDApBYkqolP\n\nFor more videos. subscribe to AIA Malaysia's YouTube channel:\nhttps://www.youtube.com/channel/UCdTU5vd37FlTZ-xoB0xzRDA" } } } ] } 

Para get más información, visite la página de documentation de la API .

El título del video está en la API y se puede alcanzar en JavaScript usando la notación de puntos:

 the_name_of_your_video_object.A.videoData.title 

Las respuestas de Robert Sim y cbaigorri fueron las mejores, esa es la forma correcta de hacerlo en este momento con JS, hacer una request GET a:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={YOUTUBE_VIDEO_ID}&fields=items(id,snippet)&key={YOUR_API_KEY}

Una pequeña especificación sobre esto: puede usar identificadores de video de youtube separados por comas para get información de videos múltiples en una sola request.

Para get 1 video, reemplace {YOUTUBE_VIDEO_ID} con identificación de video (por ejemplo, 123456 ) Para get más videos en una request, reemplace {YOUTUBE_VIDEO_ID} con ID separados por comas (por ejemplo, 123456,234567,345678,456789 )

Esto contará como una sola request en las Cuotas, de esta manera puede get una gran cantidad de detalles de video con solo 1 costo de cuota / request.

Mi solución es:

 $xmlInfoVideo = simplexml_load_file("http://gdata.youtube.com/feeds/api/videos/".$videoId."?v=2&fields=title"); foreach($xmlInfoVideo->children() as $title) { $videoTitle = strtoupper((string) $title); } 

Este obtiene el título del video.

En lugar de usar http://gdata.youtube.com/feeds/api/videos/ ….

Si tiene el video cargado, puede usar el método getVideoData () del object del jugador para recuperar información del video, incluido el título. Devolverá un object que contiene: video_id, author, title.