✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як отримати теги відео YouTube за допомогою API YouTube

40

Нещодавно я працював над проектом, де наш клієнт хоче отримати теги відео 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 Console створить для вас унікальний ідентифікатор проекту.
  • Ваш щойно створений проект з’явиться у верхній частині лівої бічної панелі.
  • Клацніть на Бібліотека в меню ліворуч. Ви побачите список 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 за допомогою API YouTube

Як зазначалося раніше, 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі