验证YouTube视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证YouTube视频相关的知识,希望对你有一定的参考价值。

This function validates the URL of a YouTube video. It supports four kinds of URL: ?v=, /v/, #!v=, and the short version (youtu.be).

To validate the ID a request to YouTube is made, this is done using a personal class utilizing cURL.
  1. public function isYoutubeVideo($value) {
  2. $isValid = false;
  3. //validate the url, see: http://snipplr.com/view/50618/
  4. if (isValidURL($value)) {
  5. //code adapted from Moridin: http://snipplr.com/view/19232/
  6. $idLength = 11;
  7. $idOffset = 3;
  8. $idStarts = strpos($value, "?v=");
  9. if ($idStarts === FALSE) {
  10. $idStarts = strpos($value, "&v=");
  11. }
  12. if ($idStarts === FALSE) {
  13. $idStarts = strpos($value, "/v/");
  14. }
  15. if ($idStarts === FALSE) {
  16. $idStarts = strpos($value, "#!v=");
  17. $idOffset = 4;
  18. }
  19. if ($idStarts === FALSE) {
  20. $idStarts = strpos($value, "youtu.be/");
  21. $idOffset = 9;
  22. }
  23. if ($idStarts !== FALSE) {
  24. //there is a videoID present, now validate it
  25. $videoID = substr($value, $idStarts + $idOffset, $idLength);
  26. $http = new HTTP("http://gdata.youtube.com");
  27. $result = $http->doRequest("/feeds/api/videos/".$videoID, "GET");
  28. //returns Array('headers' => Array(), 'body' => String);
  29. $code = $result['headers']['http_code'];
  30. //did the request return a http code of 2xx?
  31. if (substr($code, 0, 1) == 2) {
  32. $isValid = true;
  33. }
  34. }
  35. }
  36. return $isValid;
  37. }

以上是关于验证YouTube视频的主要内容,如果未能解决你的问题,请参考以下文章

Android YouTube Player API Fragment无法手动处理触摸事件

使用 youtube api v3 验证视频是不是存在

text 验证YouTube频道,视频ID

验证YouTube视频

使用 Youtube Api v3 和 oauth2 将视频上传到我的 Youtube 频道,无需用户身份验证

如何在 JSON 中为 v3 YouTube API 上传构建片段和状态