Posted By

thiagobelem on 02/05/11


Tagged

curl php simplexml YouTube


Versions (?)

Who likes this?

1 person have marked this snippet as a favorite

Balamir


Listando seus vídeos do YouTube com PHP


 / Published in: PHP
 

URL: http://blog.thiagobelem.net/listando-seus-videos-do-youtube-com-php/

  1. <?php
  2. // Seu usuário do YouTube
  3. $usuario = 'videosimprovaveis';
  4.  
  5. // URL do Feed RSS de vídeos de um usuário
  6. $youTube_UserFeedURL = 'http://gdata.youtube.com/feeds/base/users/%s/uploads?orderby=updated&v=2';
  7.  
  8. // Usa cURL para pegar o XML do feed
  9. $cURL = curl_init(sprintf($youTube_UserFeedURL, $usuario));
  10. curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
  12. $resultado = curl_exec($cURL);
  13. curl_close($cURL);
  14.  
  15. // Inicia o parseamento do XML com o SimpleXML
  16. $xml = new SimpleXMLElement($resultado);
  17.  
  18. $videos = array();
  19.  
  20. // Passa por todos vídeos no RSS
  21. foreach ($xml->entry AS $video) {
  22. $url = (string)$video->link['href'];
  23.  
  24. // Quebra a URL do vídeo para pegar o ID
  25. parse_str(parse_url($url, PHP_URL_QUERY), $params);
  26. $id = $params['v'];
  27.  
  28. // Monta um array com os dados do vídeo
  29. $videos[] = array(
  30. 'id' => $id,
  31. 'titulo' => (string)$video->title,
  32. 'thumbnail' => 'http://i' . rand(1, 4) .'.ytimg.com/vi/'. $id .'/hqdefault.jpg',
  33. 'url' => $url
  34. );
  35. }
  36.  
  37. ?>
  38.  
  39. <h1>Meus Vídeos</h1>
  40.  
  41. <ul>
  42. <?php foreach ($videos AS $video) { ?>
  43. <li>
  44. <a href="<?php echo $video['url'] ?>" title="<?php echo $video['titulo'] ?>"><img src="<?php echo $video['thumbnail'] ?>" alt="<?php echo $video['titulo'] ?>" width="150" /></a>
  45. </li>
  46. <?php } ?>
  47. </ul>

Report this snippet  

You need to login to post a comment.