✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak uzyskać tagi wideo YouTube za pomocą interfejsu API YouTube

26

Ostatnio pracowałem nad projektem, w którym nasz klient chce zdobyć tagi filmów z YouTube. Prowadzą swój kanał YouTube i chcieli prostego narzędzia do pobierania tagów dowolnego filmu z YouTube za pomocą adresu URL filmu. W tym artykule pokażę, jak uzyskać tagi wideo YouTube za pomocą interfejsu API YouTube.

Korzystając z tego narzędzia, można uzyskać tagi dowolnego filmu z YouTube, podając poprawny adres URL filmu. Może to pomóc YouTuberom przeglądać tagi używane do ich własnych/konkurujących filmów. Doda korzyści, aby znaleźć odpowiednie tagi dla ich filmów.

Poniżej znajdują się możliwe formaty adresów URL dowolnego filmu na YouTube. Musisz użyć adresu URL pasującego do dowolnego z powyższych formatów.

Pierwsze kroki

Aby rozpocząć, musisz najpierw uzyskać klucz API z konta Konsoli Google. Ten klucz API jest niezbędny podczas interakcji z interfejsami API YouTube. Bez tego klucza YouTube traktuje wszystkie przychodzące wywołania API jako nieautoryzowane.

Poniżej znajdują się kroki, aby pobrać klucz API.

  • Przejdź do Konsoli programisty Google https://console.developers.google.com.
  • Utwórz nowy projekt. Opcjonalnie możesz również wybrać istniejący projekt.
  • Nadaj nazwę swojemu projektowi. Konsola Google utworzy dla Ciebie unikalny identyfikator projektu.
  • Twój nowo utworzony projekt pojawi się na górze lewego paska bocznego.
  • Kliknij Biblioteka z lewego menu. Zobaczysz listę interfejsów Google API. Włącz interfejs API danych YouTube.
  • Następnie z lewego menu kliknij Poświadczenia. Wybierz klucz API w obszarze Utwórz poświadczenia.
  • Skopiuj ten klucz API.

Jak uzyskać tagi wideo YouTube za pomocą interfejsu API YouTube

Następnie utwórz prosty formularz, w którym możesz dodać adres URL wideo YouTube i wysłać go do dalszego przetwarzania.

<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>

Pobierz tagi wideo YouTube za pomocą interfejsu API YouTube

Jak wspomniano wcześniej, YouTube obsługuje różne typy adresów URL. Musimy przyjrzeć się różnym formatom adresów URL i wyodrębnić z nich identyfikator wideo.

Napiszmy funkcję, która wyodrębnia identyfikator wideo za pomocą wyrażenia regularnego z obsługiwanego formatu adresu URL wideo YouTube.

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

Następnie napisz metodę, która wywoła wywołanie API i przetworzy odpowiedź. Ta odpowiedź zawierałaby tagi, więc zwróć ją tą samą metodą.

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.");
    }
}

Gdy użytkownik wprowadzi prawidłowy adres URL wideo YouTube, musimy wywołać getYTTagsfunkcję i zbudować zmienną zawierającą listę tagów wideo.

$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);
}

Pamiętaj, aby zastąpić symbole zastępcze rzeczywistym kluczem API. Na koniec wyświetl listę tagów w formacie HTML.

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

Kod końcowy

Napisaliśmy kod w kawałkach. Poniżej znajduje się ostateczny kod, który możesz skopiować i wykorzystać w swojej aplikacji.

<?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>";
}

Wszystko sprowadza się do uzyskiwania tagów wideo YouTube za pomocą interfejsu API YouTube i PHP. Podziel się swoimi przemyśleniami i sugestiami w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów