Как парсить длительность видео youtube на php
Самый главный момент в работе с youtube — это получить ключ api. Далее нужно будет создать приложение, дальше по поиску включить api youtube (Enable). После включения api, нужно для него создать ключ авторизации. Более детальное описание и код смотрите в нашей статье.

Самый главный момент в работе с youtube — это получить ключ api через консоль разработчика google. Дальше я приложу код, которым парсится длительность видео с youtube, и как его перевести в обычный вид.
Как получить api ключ для работы с youtube ? Вся основная информация по работе с API ютюба описано на странице: https://developers.google.com/youtube/v3/getting-started.
Нужно перейти на страницу консоли гугл https://console.developers.google.com/. Дальше я опишу основные шаги.
Нужно создать приложение, дальше по поиску включить api youtube (Enable). После включения api, нужно для него создать ключ авторизации. Если Вы не разбираетесь в «ограничениях» доступа, создавайте ключ без них чтобы потом не мучатся почему не работает.
Код парсинга длительности видео с youtube
Я в ссылке использую part=contentDetails, что бы брать больше данных и тянуть именно длительность.
<?
function convertTime($duration){
$interval = new \DateInterval($duration);
$seconds = $interval->days * 86400 + $interval->h * 3600 + $interval->i * 60 + $interval->s;
$time = gmdate("H:i:s", $seconds);
return $time;
}
$id_video = 'LSPE_XheJqo'; // Айди видео
$api_key = 'AIzjuShSnxkJtT765542vLPaxISAmsNjawIME'; // Ваш АПИ кей, этот не рабочий если что
$get_data_yt = file_get_contents ("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=$id_video&key=$api_key"); // Парсим данные
$duration = json_decode($get_data_yt, true); // Переводим в json, чтобы удобно было "разбирать"
foreach ($duration['items'] as $vidTime) {
$vDuration= $vidTime['contentDetails']['duration']; // Тянем длительность
}
echo convertTime($vDuration); // Переводим в читабельный вид
?>