YouTube API: Überprüfen, ob Video existiert

YouTube Logo
YouTube Logo

In diesem Blog sind eine Reihe von YouTube Videos verlinkt. Aus verschiedenen Gründen sind einige Videos irgendwann nicht mehr aufrufbar. Ein Feature, welches ich noch in meine Blog Software PerlPress einbauen möchte, ist, die Links zu YouTube Videos daraufhin zu überprüfen, ob es das Video noch gibt.

Auf stackoverflow.com habe ich eine Lösung gefunden, welche auf die YouTube API zurückgreift. Kennt man die Video ID, so muß man folgende URL aufrufen (hier Aufruf mit curl in einer Linux Konsole, geht aber auch in jedem Browser):

$ curl http://gdata.youtube.com/feeds/api/videos/KJV6ziVZYDk

Abhängig vom Status erhält man unterschiedliche Rückgabewerte. Das obige Beispiel gibt den Rückgabewert "Private video". Im Falle eines existierenden, öffentlich sichtbaren Videos gibt es einen umfangreichen Atom-Feed zurück, aus den man alle relevanten Infos wie Titel, Begleittext, Owner usw. auslesen kann. Eine falsche ID gibt den Rückgabewert "Invalid id".

Manko ist, daß die API total langsam ist. Es dauert bei mir reproduzierbar etwa 5 Sekunden, bis eine Antwort vom Server kommt.