Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tytuł filmu z youtube z pliku XML
Forum PHP.pl > Forum > PHP
radziopoke
Szukam już na to sposobu od dwóch godzin.
Mianowicie:
Mam jakiś film w YouTube:
http://www.youtube.com/watch?v=ekQaU8rcGaE

I znalazłem sposób na znalezienie danych tego filmu w pliku xml:
http://gdata.youtube.com/feeds/api/videos/ekQaU8rcGaE

Jak widać w tak wygenerowanym pliku XML jest tag "title" w którym podany jest tytuł, który chciałbym wyciągnąć.
Nie znam się na odczytywaniu pliku XML w php więc poszperałem w kilku miejscach i oto co mi się udało wymyśclić:

Kod
$xml = new XMLReader();
  $xml->open('http://gdata.youtube.com/feeds/api/videos/JMs0EkbwcKE');
  while($xml->read())
  {
    if($xml->name == "title")
    {
      echo $xml->name.":".$xml->value;
    }
  }


Nie wiem dlaczego nie odnajduje wartości tagu "title" gdyż sam tag odnajduje.
I co w tym jest nie tak?
cycofiasz
  1. $xml = simplexml_load_file('http://gdata.youtube.com/feeds/api/videos/JMs0EkbwcKE');
  2.  
  3. $title = (string) $xml->title;
  4.  
  5. echo $title;
GranDi88
witam, szukam i szukam i jedynie co znalazłem to ten wpis - jak pobrać tytuł z filmu pochodzącego z YT. niestety mi to nie działa. $title mam ustawione żeby zapisywało do bazy danych - nic się nie zapisuje, echo też nić nie pokazuje. Czy z tym kodem jest wszystko ok?
viking
Kod wyżej bazuje na starym API które nie jest już dostępne.
Tu masz przykłady kodu: https://github.com/youtube/api-samples/tree/master/php
A tu http://stackoverflow.com/questions/3311080...video-id-in-php odpowiedź
https://gist.github.com/james2doyle/9210212
GranDi88
hmm... dlaje mam problem bo dalej nie działa mi to - wypróbowałem wszystkie metody z przykładów. obecnie wyglada to u mnie tak:
  1. $parsurl = parse_url($link);
  2. parse_str($parsurl['query'], $ytvar );
  3. $idfilmu = $ytvar['v'];
  4.  
  5. if($content=file_get_contents("http://youtube.com/get_video_info?video_id=".$idfilmu)) {
  6. parse_str($content, $ytarr);
  7. $myvideos[$i]['video_title']=$ytarr['title'];
  8. }
  9. else {
  10. $myvideos[$i]['video_title']="No title";
  11. }
  12. $tytulfilmu = $myvideos[$i]['video_title'];

no i oczywiście wpis do bazy
  1. INSERT INTO pranki SET tytul='$tytulfilmu'

i niestety nic mi sie nie zapisuje a jak dam var_dump to mam NULL
Co robię nie tak?
dodam, że jak w miejsce $tytulfilmu dam $idfilmu to ID się zapisuje więc to działa poprawnie.
LowiczakPL
Po co się męczysz jak jest do tego API https://www.youtube.com/yt/dev/pl/api-resources.html
GranDi88
Bo z tego całego API to już wcale nic nie wiem - nie jestem programistą - bawię się w wolnym czasie próbując jakoś tam sobie te PHP połapać. Na stronie google byłe i kompletnie nic tam dla siebie nie znalazłem. Jeżeli jest tam info jak wyciągnąć po id tytuł z filmu to bardzo proszę o konkretne wskazanie gdzie tongue.gif

Kody 'gotowe' które znalazłem tez niby korzystają z API ale nic nie działa a wypróbowałem już tego sporo - zakładam jednak że to nie wina gotowców tego że ja coś źle adaptuje na swoje potrzeby.

znalazłem coś takiego - to zapewne odpowedź na moje pytanie - wypróbuje jak tylko mój API key zacznie działać tongue.gif:
https://webtoolsplus.com/get-youtube-title-...ption-from-php/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.