Ich schreibe Code, um YouTube-URLs zu validieren. Ist garantiert, dass die Video-ID, wie zum Beispiel oHg5SJYRHA0
, immer genau 11 Zeichen lang ist, oder kann sie manchmal kürzer oder länger sein? Gibt es dazu offizielle Unterlagen?
Ich schreibe Code, um YouTube-URLs zu validieren. Ist garantiert, dass die Video-ID, wie zum Beispiel oHg5SJYRHA0
, immer genau 11 Zeichen lang ist, oder kann sie manchmal kürzer oder länger sein? Gibt es dazu offizielle Unterlagen?
Antworten:
Sie werden wahrscheinlich für eine lange Zeit bei 11 Zeichen bleiben. Jedes Zeichen hat 64 mögliche Werte:
2 * 26 Buchstaben (Klein- und Großbuchstaben) + 10 für die Ziffern, + 2 für "_" und "-" Zeichen
2 * 26 + 10 + 2 = 64
Dann insgesamt 11 Zeichen:
64 ^ 11 = 73786976294838210000 (oder mehr oder weniger "73,7e18")
Natürlich werden nicht alle Kombinationen verwendet, abhängig von ihrem Algorithmus, aber sie werden es wahrscheinlich nicht so bald ändern. Aus Worten eines YouTube-Entwicklers geht jedoch hervor, dass sie nicht garantieren:
Ich sehe nirgendwo in der Dokumentation, wo wir offiziell eine Standardlänge von 11 Zeichen für YouTube-Video-IDs festlegen. Es ist eines der Dinge, bei denen wir eine aktuelle Implementierung haben, und dies kann auf unbestimmte Zeit so bleiben. Wir bieten jedoch keine offizielle Verpflichtung dazu an. Gehen Sie daher auf eigenes Risiko vor.
Ein besserer Ansatz ist es, jede Video-ID zu verwenden und eine Anfrage an die YouTube-API zu senden, um zu prüfen, ob sie gültig ist. ZB machen Sie ein HTTP GET zu
http://gdata.youtube.com/feeds/api/videos/VIDEO_ID
und prüfen Sie, ob Sie eine HTTP 200-Antwort erhalten. Wenn Sie diesen Ansatz wählen, werden Videos, die von YouTube entfernt wurden, als ungültig zurückgegeben (was möglicherweise nicht Ihren Wünschen entspricht), und Videos, die erst kürzlich auf YouTube hochgeladen wurden, werden möglicherweise ebenfalls als ungültig zurückgegeben.
Prost, -Jeff Posnick, YouTube API-Team
Einige der URLs verweisen auf dasselbe Video. In den unten aufgeführten Videos handelt es sich beispielsweise um "Die Nobelpreise 2015!" von Scishow:
Auch, wenn Sie auf das letzte Zeichen ändern C
oder D
das wird auch funktionieren.