Posted in

Как парсить длительность видео youtube на php в привычном виде

Как парсить длительность видео с ютуба
Как парсить длительность видео с youtube на php

Самый главный момент в работе с youtube – это получить ключ api через консоль разработчика google. Дальше я приложу код, которым парсится длительность видео с youtube, и как его перевести в обычный вид.

Как получить api ключ для работы с youtube

Вся основная информация по работе с апи ютюба описано на странице: https://developers.google.com/youtube/v3/getting-started .

Как получить апи ключ для youtube
Как получить api ключ для работы с youtube

Нужно перейти на страницу консоли гугл https://console.developers.google.com/ . Дальше я опишу основные шаги, справитесь. Если нет – пишите в комментарии, или обращайтесь ко мне платите деньги 🙂

Нужно создать приложение, дальше по поиску включить api youtube (Enable). После включения апи, нужно для него создать ключ авторизации. Если Вы не разбираетесь в “ограничениях” доступа, создавайте ключ без них чтобы потом не мучатся почему не работает.

Код парсинга длительности видео с 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);  // Переводим в читабельный вид
?>

Основные моменты описаны в коде в комментариях. Если нужны данные для мета-тега, переводить в обычный вид не нужно.

 

Leave a Reply

Your email address will not be published. Required fields are marked *