Categories: Php

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

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

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

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

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

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

 

veniamin

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

6 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

6 месяцев ago

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

3 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

3 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago

Kwork.ru: опыт поиска исполнителя и поздравление

Пришла в голову одна интересная идея. Связанно с тиктоком. Решил поискать исполнителя, который будет монтировать…

3 года ago