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

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

175

Недавно я работал над проектом, в котором наш клиент хочет получить теги видео с 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 для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее