Проверьте, можно ли встраивать видео YouTube с помощью этого кода

#php #api #youtube #embed

#php #API #YouTube #Внедрить

Вопрос:

функция parseVideoEntry($entry) {

   $obj= new stdClass;

  // get nodes in media: namespace for media information
  $media = $entry->children('http://search.yahoo.com/mrss/');
  $obj->title = $media->group->title;
  $obj->description = $media->group->description;

  // get video player URL
  $attrs = $media->group->player->attributes();
  $obj->watchURL = $attrs['url']; 

  // get video thumbnail
  $attrs = $media->group->thumbnail[0]->attributes();
  $obj->thumbnailURL = $attrs['url']; 

  // get <yt:duration> node for video length
  $yt = $media->children('http://gdata.youtube.com/schemas/2007');
  $attrs = $yt->duration->attributes();
  $obj->length = $attrs['seconds']; 

  // get <yt:stats> node for viewer statistics
  $yt = $entry->children('http://gdata.youtube.com/schemas/2007');
  $attrs = $yt->statistics->attributes();
  $obj->viewCount = $attrs['viewCount']; 

  // get <gd:rating> node for video ratings
  $gd = $entry->children('http://schemas.google.com/g/2005'); 
  if ($gd->rating) { 
    $attrs = $gd->rating->attributes();
    $obj->rating = $attrs['average']; 
  } else {
    $obj->rating = 0;         
  }

  // get <gd:comments> node for video comments
  $gd = $entry->children('http://schemas.google.com/g/2005');
  if ($gd->comments->feedLink) { 
    $attrs = $gd->comments->feedLink->attributes();
    $obj->commentsURL = $attrs['href']; 
    $obj->commentsCount = $attrs['countHint']; 
  }

  //Get the author
  $obj->author = $entry->author->name;
  $obj->authorURL = $entry->author->uri;


  // get feed URL for video responses
  $entry->registerXPathNamespace('feed', 'http://www.w3.org/2005/Atom');
  $nodeset = $entry->xpath("feed:link[@rel='http://gdata.youtube.com/schemas/
  2007#video.responses']"); 
  if (count($nodeset) > 0) {
    $obj->responsesURL = $nodeset[0]['href'];      
  }

  // get feed URL for related videos
  $entry->registerXPathNamespace('feed', 'http://www.w3.org/2005/Atom');
  $nodeset = $entry->xpath("feed:link[@rel='http://gdata.youtube.com/schemas/
  2007#video.related']"); 
  if (count($nodeset) > 0) {
    $obj->relatedURL = $nodeset[0]['href'];      
  }

  // return object to caller  
  return $obj;      
  

}

     $vid = stripslashes($_POST['url']);
    $string = $vid;
    $url = parse_url($string);
    parse_str($url['query']); 

    if(isset($v))
    {

         // set video data feed URL
        $feedURL = 'http://gdata.youtube.com/feeds/api/videos/'. $v;

        // read feed into SimpleXML object
        $entry = simplexml_load_file($feedURL);

        // parse video entry
        $video = parseVideoEntry($entry);


        //These variables include the video information
        $video_title = $video->title;
        $video_lenght =$video->length;
  

Я пытался посмотреть на API и прочее, но я не привык использовать эти API, поэтому я не могу решить эту проблему, я должен сказать, что я дизайнер, а не разработчик, если кто-то может мне помочь, я был бы очень признателен…

Я хочу проверить, ПОЛНОСТЬЮ ли встраивается видео, нет ли ограничений по площади и прочее

Спасибо

Ответ №1:

Вы можете проверить, разрешено ли встраивание видео, ограничив format значением 5 , и вы также можете посмотреть, доступно ли видео в определенной области, установив restriction значение ip address следующим образом:

 http://gdata.youtube.com/feeds/api/videos?restriction=xxx.xxx.xxx.xxxamp;format=5amp;orderby=relevanceamp;q=xxx
  

По запросу будут найдены видеоролики "xxx" , которые воспроизводятся в области, в которой находится ip-адрес xxx.xxx.xxx.xxx , и встраивание которых разрешено, и они будут отсортированы по релевантности.

ссылка для format=5:http://code.google.com/apis/youtube/2.0/reference.html#format

Комментарии:

1. Я должен проверить, является ли данное видео встраиваемым, поэтому я должен получить параметры из Api, который я опубликовал, проблема в том, что я не знаю, как проанализировать Api, даже если я пытался прочитать всю информацию

Ответ №2:

Вы можете добавить amp;format = 5 к вашему запросу YouTube API, однако вы все равно столкнетесь с видео, которые выдают ошибку встраивания. Чтобы справиться с этим, просто добавьте прослушиватель событий в проигрыватель YouTube для «onError», тогда будут переданы номера ошибок 150 и 101, если видео не может быть встроено.

Комментарии:

1. То же самое я сказал другому плакату