Как получить данные о видео взятого с 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.
    Добавить Комментарий

    Ваш ответ

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