Ha ellenőrizni akarod php-val, hogy egy YouTube videó online-e vagy sem (törölték), akkor azt így teheted meg a videoID ismeretében:
<?php
function video_online($videoid){
$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $videoid);
if (!strpos($headers[0], '200')) {
return false;
} else { return true; }}
if(video_online("abcdef")) { echo "online"; } else { echo "nem online"; }
?>
Biztonságos implementáció:
Ha több száz kérést intézel másodpercenként a YouTube API-hoz, akkor HTTP/1.0 403 Forbidden hibát dob, mert túl gyors vagy. Alább olvasható egy olyan módosítás, ami csak akkor jelöli töröltnek a videót, ha 404-es hiba jön, és biztosan eltávolították - ellenben meglévőnek mondja, ha 200-as OK a videó vagy 403 Forbidden jön. Ezt a változatot használd akkor, ha "bulk" lekéréseket csinálsz, így igaz, hogy lesz 1-2 hibád, amikor is egy eltávolított videót még online-nak jelöl meg, de ha éppenséggel ezt a függvényt te az adatbázisdból való törlésre használod, nem fognak törlődni hibásan a videóid, csak azok amik tényleg törölve vannak a YT-ról.
<?php
function video_online($videoid){
$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $videoid);
if (strpos($headers[0], '200')) { return true; }
else if (strpos($headers[0], '404')) { return false; }
else { return true; }
}if(video_online("abcdef")) { echo "online"; } else { echo "nem online"; }
?>
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.