#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. То же самое я сказал другому плакату