WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как получить теги видео YouTube с помощью API YouTube

197

Недавно я работал над проектом, в котором наш клиент хочет получить теги видео с YouTube. Они запустили свой канал на YouTube и хотели получить простую утилиту для получения тегов любого видео YouTube с помощью URL-адреса видео. В этой статье я покажу вам, как получить теги видео YouTube с помощью API YouTube.

С помощью этой утилиты можно получить теги любого видео YouTube, содержащие правильный URL-адрес видео. Это может помочь пользователям YouTube просматривать теги, используемые для их собственных / видео конкурентов. Это добавит преимуществ, чтобы узнать соответствующие теги для своих видео.

Ниже приведены возможные форматы URL-адресов любого видео YouTube. Вы должны использовать сопоставление URL-адресов с любым из вышеуказанных форматов.

Начиная

Для начала вам необходимо получить ключ API из вашей учетной записи Google Console. Этот ключ API необходим при взаимодействии с API YouTube. Без этого ключа YouTube считает все входящие вызовы API несанкционированными.

Ниже приведены шаги по получению ключа API.

  • Перейдите в консоль разработчика Google https://console.developers.google.com.
  • Создайте новый проект. При желании вы также можете выбрать существующий проект.
  • Дайте название вашему проекту. Консоль Google создаст для вас уникальный идентификатор проекта.
  • Ваш недавно созданный проект появится в верхней части левой боковой панели.
  • Нажмите «Библиотека» в левом меню. Вы увидите список API Google. Включите API данных YouTube.
  • Затем в левом меню нажмите Учетные данные. Выберите ключ API в разделе «Создать учетные данные».
  • Скопируйте этот ключ API.

Как получить теги видео YouTube с помощью API YouTube

После этого создайте простую форму, в которой вы можете добавить URL-адрес видео YouTube и отправить его для дальнейшей обработки.

<form method="get">     <p>         <input type="text" name="ytvideo" placeholder="Enter YouTube Video URL" value="<?php if (array_key_exists('ytvideo', $_GET)) echo $_GET['ytvideo']; ?>" required />     </p>     <p>         <input type="submit" name="submit" value="Submit">     </p> </form>

Получите YouTube видео теги с помощью YouTube API

Как упоминалось ранее, YouTube поддерживает разные типы URL-адресов. Нам нужно изучить различные форматы URL-адресов и извлечь из них идентификатор видео.

Напишем функцию, которая извлекает идентификатор видео, используя регулярное выражение из поддерживаемого формата URL-адреса видео YouTube.

function extractVideoID($url){     $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";     preg_match($regExp, $url, $video);     return $video[7]; }

Затем напишите метод, который будет вызывать API и обрабатывать ответ. Этот ответ будет содержать теги, поэтому верните его тем же методом.

function getYTTags($api_url = '') {     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $api_url);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     $response = curl_exec($ch);     $arr_result = json_decode($response);     if (isset($arr_result->items) && isset($arr_result->items[0]->snippet->tags)) {         return $arr_result->items[0]->snippet->tags;     } elseif (isset($arr_result->error)) {         die("No video tags found.");     } }

Когда пользователь вводит действительный URL-адрес видео YouTube, нам нужно вызвать getYTTagsфункцию и создать переменную, содержащую список тегов видео.

$api_key = 'YOUR_API_KEY'; $arr_tags = array(); if (array_key_exists('ytvideo', $_GET)) {     extract($_GET);     $video_id = extractVideoID($ytvideo);     $api_url = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$video_id&type=video&key=$api_key";     $arr_tags = getYTTags($api_url); }

Обязательно замените заполнители вашим фактическим ключом API. Наконец, отобразите список тегов в формате HTML.

if (!empty($arr_tags)) {     echo "<ul>";     foreach ($arr_tags as $tag) {         echo "<li>$tag</li>";     }     echo "</ul>"; }

Окончательный код

Мы написали код по частям. Ниже приведен окончательный код, который вы можете скопировать и использовать в своем приложении.

<?php $api_key = 'YOUR_API_KEY';    function getYTTags($api_url = '') {     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $api_url);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     $response = curl_exec($ch);     $arr_result = json_decode($response);     if (isset($arr_result->items) && isset($arr_result->items[0]->snippet->tags)) {         return $arr_result->items[0]->snippet->tags;     } elseif (isset($arr_result->error)) {         die("No video tags found.");     } }    function extractVideoID($url){     $regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";     preg_match($regExp, $url, $video);     return $video[7]; }    $arr_tags = array(); if (array_key_exists('ytvideo', $_GET)) {     extract($_GET);     $video_id = extractVideoID($ytvideo);     $api_url = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$video_id&type=video&key=$api_key";     $arr_tags = getYTTags($api_url); } ?>    <form method="get">     <p>         <input type="text" name="ytvideo" placeholder="Enter YouTube Video URL" value="<?php if (array_key_exists('ytvideo', $_GET)) echo $_GET['ytvideo']; ?>" required />     </p>     <p>         <input type="submit" name="submit" value="Submit">     </p> </form>    <?php if (!empty($arr_tags)) {     echo "<ul>";     foreach ($arr_tags as $tag) {         echo "<li>$tag</li>";     }     echo "</ul>"; }

Все дело в получении тегов видео YouTube с помощью API YouTube и PHP. Пожалуйста, поделитесь своими мыслями и предложениями в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее