✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So erhalten Sie YouTube-Video-Tags mit der YouTube-API

26

Kürzlich habe ich an einem Projekt gearbeitet, bei dem unser Kunde Tags von YouTube-Videos erhalten möchte. Sie betreiben ihren YouTube-Kanal und wollten ein einfaches Dienstprogramm zum Abrufen von Tags für jedes YouTube-Video mithilfe der Video-URL. In diesem Artikel zeige ich Ihnen, wie Sie YouTube-Video-Tags mithilfe der YouTube-API abrufen.

Mit diesem Dienstprogramm kann man Tags jedes YouTube-Videos abrufen, die die richtige Video-URL bereitstellen. Dies kann den YouTubern helfen, die Tags zu sehen, die für ihre eigenen/Mitbewerber-Videos verwendet werden. Es bietet Vorteile, die relevanten Tags für ihre Videos herauszufinden.

Nachfolgend finden Sie mögliche URL-Formate für jedes YouTube-Video. Sie müssen die URL verwenden, die mit einem der oben genannten Formate übereinstimmt.

Einstieg

Um zu beginnen, müssen Sie zunächst einen API-Schlüssel von Ihrem Google Console-Konto abrufen. Dieser API-Schlüssel ist für die Interaktion mit den YouTube-APIs erforderlich. Ohne diesen Schlüssel betrachtet YouTube alle eingehenden API-Aufrufe als nicht autorisiert.

Nachfolgend finden Sie die Schritte zum Abrufen des API-Schlüssels.

  • Gehen Sie zur Google Developer Console https://console.developers.google.com.
  • Erstellen Sie ein neues Projekt. Optional können Sie auch ein bestehendes Projekt auswählen.
  • Geben Sie Ihrem Projekt einen Namen. Die Google Console erstellt eine eindeutige Projekt-ID für Sie.
  • Ihr neu erstelltes Projekt wird oben in der linken Seitenleiste angezeigt.
  • Klicken Sie im linken Menü auf Bibliothek. Sie sehen eine Liste der Google APIs. Aktivieren Sie die YouTube-Daten-API.
  • Klicken Sie anschließend im linken Menü auf die Anmeldeinformationen. Wählen Sie API-Schlüssel unter Anmeldeinformationen erstellen aus.
  • Kopieren Sie diesen API-Schlüssel.

So erhalten Sie YouTube-Video-Tags mit der YouTube-API

Erstellen Sie anschließend ein einfaches Formular, in dem Sie eine YouTube-Video-URL hinzufügen und zur weiteren Verarbeitung senden können.

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

Erhalten Sie YouTube-Video-Tags mit der YouTube-API

Wie bereits erwähnt, unterstützt YouTube verschiedene Arten von URLs. Wir müssen uns die verschiedenen URL-Formate ansehen und die Video-ID daraus extrahieren.

Lassen Sie uns die Funktion schreiben, die die Video-ID mithilfe des regulären Ausdrucks aus einem unterstützten YouTube-Video-URL-Format extrahiert.

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

Schreiben Sie als Nächstes eine Methode, die einen API-Aufruf ausgibt und die Antwort verarbeitet. Diese Antwort würde die Tags enthalten, also geben Sie sie von derselben Methode zurück.

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

Wenn ein Benutzer eine gültige YouTube-Video-URL eingibt, müssen wir die getYTTagsFunktion aufrufen und eine Variable erstellen, die eine Liste von Video-Tags enthält.

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

Stellen Sie sicher, dass Sie die Platzhalter durch Ihren tatsächlichen API-Schlüssel ersetzen. Zeigen Sie schließlich die Liste der Tags im HTML-Format an.

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

Endgültiger Code

Wir haben den Code in Stücke geschrieben. Unten finden Sie den endgültigen Code, den Sie kopieren und in Ihrer Anwendung verwenden können.

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

Es geht darum, YouTube-Video-Tags mithilfe der YouTube-API und PHP zu erhalten. Bitte teilen Sie Ihre Gedanken und Vorschläge im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen