✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come ottenere i tag video di YouTube utilizzando l’API di YouTube

34

Recentemente ho lavorato a un progetto in cui il nostro cliente vuole ottenere i tag dei video di YouTube. Stanno eseguendo il loro canale YouTube e volevano una semplice utility per ottenere i tag di qualsiasi video di YouTube utilizzando l’URL del video. In questo articolo, ti mostro come ottenere i tag video di YouTube utilizzando l’API di YouTube.

Utilizzando questa utility, è possibile ottenere i tag di qualsiasi video di YouTube fornendo l’URL del video corretto. Questo può aiutare gli YouTuber a visualizzare i tag utilizzati per i propri video/concorrenti. Aggiungerà vantaggi per scoprire i tag pertinenti per i loro video.

Di seguito sono riportati i possibili formati URL di qualsiasi video di YouTube. È necessario utilizzare l’URL corrispondente a uno dei formati di cui sopra.

Iniziare

Per iniziare, devi prima ottenere una chiave API dal tuo account Google Console. Questa chiave API è necessaria durante l’interazione con le API di YouTube. Senza questa chiave YouTube considera non autorizzate tutte le chiamate API in entrata.

Di seguito sono riportati i passaggi per acquisire la chiave API.

  • Vai alla Console per gli sviluppatori di Google https://console.developers.google.com.
  • Crea un nuovo progetto. Facoltativamente, puoi anche selezionare un progetto esistente.
  • Dai un nome al tuo progetto. Google Console creerà per te un ID progetto univoco.
  • Il tuo progetto appena creato apparirà nella parte superiore della barra laterale sinistra.
  • Fare clic su Libreria dal menu a sinistra. Vedrai un elenco di API di Google. Abilita l’API dei dati di YouTube.
  • Successivamente, dal menu di sinistra, fai clic su Credenziali. Seleziona la chiave API in Crea credenziali.
  • Copia questa chiave API.

Come ottenere i tag video di YouTube utilizzando l'API di YouTube

Successivamente, crea un semplice modulo in cui puoi aggiungere l’URL di un video di YouTube e inviarlo per un’ulteriore elaborazione.

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

Ottieni tag video di YouTube utilizzando l’API di YouTube

Come accennato in precedenza, YouTube supporta diversi tipi di URL. Dobbiamo esaminare i diversi formati di URL ed estrarre da essi l’ID del video.

Scriviamo la funzione che estrae l’id del video utilizzando l’espressione regolare da un formato URL video di YouTube supportato.

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

Quindi, scrivi un metodo che dia una chiamata API ed elabori la risposta. Questa risposta conterrebbe i tag, quindi restituiscila dallo stesso metodo.

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

Quando un utente immette un URL video di YouTube valido, dobbiamo chiamare la getYTTagsfunzione e creare una variabile che contenga un elenco di tag video.

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

Assicurati di sostituire i segnaposto con la tua chiave API effettiva. Infine, visualizza l’elenco dei tag in formato HTML.

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

Codice finale

Abbiamo scritto il codice a pezzi. Di seguito è riportato il codice finale che puoi copiare e utilizzare nella tua applicazione.

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

Si tratta di ottenere tag video di YouTube utilizzando l’API di YouTube e PHP. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More