✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Så här får du YouTube-videotaggar med YouTube API

18

Nyligen arbetade jag med ett projekt där vår klient vill få taggar med YouTube-videor. De kör sin YouTube-kanal och ville ha ett enkelt verktyg för att få taggar av vilken YouTube-video som helst med hjälp av videon URL. I den här artikeln visar jag dig hur du får YouTube-videotaggar med hjälp av YouTube API.

Med hjälp av det här verktyget kan man få taggar av vilken YouTube-video som helst som ger rätt video-URL. Detta kan hjälpa YouTubers att se taggarna som används för sina egna / konkurrerande videor. Det kommer att ge fördelar för att ta reda på relevanta taggar för deras videor.

Nedan finns möjliga URL-format för alla YouTube-videor. Du måste använda webbadressen som matchar något av ovanstående format.

Komma igång

För att komma igång måste du först hämta en API-nyckel från ditt Google Console-konto. Denna API-nyckel är nödvändig när du interagerar med YouTube-API: erna. Utan denna nyckel betraktar YouTube alla inkommande API-samtal som obehöriga.

Nedan följer stegen för att ta tag i API-nyckeln.

  • Gå över till Googles utvecklarkonsol https://console.developers.google.com.
  • Skapa ett nytt projekt. Alternativt kan du också välja ett befintligt projekt.
  • Ge ditt projekt ett namn. Google Console skapar ett unikt projekt-ID för dig.
  • Ditt nyskapade projekt visas längst upp till vänster i sidofältet.
  • Klicka på Bibliotek från den vänstra menyn. Du kommer att se en lista över Googles API: er. Aktivera YouTube Data API.
  • Klicka sedan på referenser från vänster meny. Välj API-nyckel under Skapa referenser.
  • Kopiera den här API-nyckeln.

Så här får du YouTube-videotaggar med YouTube API

Skapa sedan ett enkelt formulär där du kan lägga till en YouTube-video-URL och skicka den för vidare bearbetning.

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

Skaffa YouTube-videotaggar med hjälp av YouTube API

Som nämnts tidigare stöder YouTube olika typer av webbadresser. Vi måste titta på de olika webbformaten och extrahera video-id från dem.

Låt oss skriva funktionen som extraherar video-id med hjälp av det reguljära uttrycket från ett stöd för YouTube-video-URL-format.

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

Skriv sedan en metod som ger ett API-samtal och bearbetar svaret. Detta svar skulle innehålla taggarna så returnera det från samma 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.");
    }
}

När en användare anger en giltig webbadress för YouTube-video måste vi ringa getYTTagsfunktionen och skapa en variabel som innehåller en lista med videotaggar.

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

Se till att ersätta platshållarna med din faktiska API-nyckel. Slutligen, visa listan med taggar i HTML-format.

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

Slutlig kod

Vi har skrivit koden i bitar. Nedan visas den slutliga koden som du kan kopiera och använda i din applikation.

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

Det handlar om att få YouTube-videotaggar med hjälp av YouTube API och PHP. Dela dina tankar och förslag i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer