Как получить данные о видео взятого с youtube api v.3.0?

Решено

Здравствуйте, у меня есть сайт с видео. Видео я беру со своего канала на youtube. В настоящий момент я хочу у себя на сайте рядом с видео вывести дополнительную информацию о видео. Такую как категория, название, время и прочее. На youtube.com все данные мне нужные есть. Скажите как их можно получить?

Добавить Комментарий
Ответ

Для начала нужно получить api key который требуется для работы с апи youtube.

Его можно получить по этой ссылке: https://console.developers.google.com/iam-admin/projects. Жмем «Создать проект» и выбираем api youtube для получения данных.

Теперь мы можем работать с api. Пример как можно получить время(продолжительность) видео:

 /**
 * Вернем продолжительность видео
 *
 * @param $video_url - ссылка на видео
 * @param $api_key - ваш api key
 * @return integer|null
 */
 function youtubeVideoDuration($video_url, $api_key) {
// video id from url
 parse_str(parse_url($video_url, PHP_URL_QUERY), $get_parameters);
 $video_id = $get_parameters['v'];
// video json data
 $json_result = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=$video_id&key=$api_key");
 $result = json_decode($json_result, true);
// video duration data
 if (!count($result['items'])) {
 return null;
 }
 $duration_encoded = $result['items'][0]['contentDetails']['duration'];
// duration
 $interval = new DateInterval($duration_encoded);
 $seconds = $interval->days * 86400 + $interval->h * 3600 + $interval->i * 60 + $interval->s;
return $seconds;
 }
 

Для получения общих данных:

$json_result = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$video_id&key=$api_key");
 
в 25.01.2017.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.