...
✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como obter tags de vídeo do YouTube usando a API do YouTube

28

Recentemente, trabalhei em um projeto em que nosso cliente deseja obter tags de vídeos do YouTube. Eles estão executando seu canal no YouTube e queriam um utilitário simples para obter tags de qualquer vídeo do YouTube usando o URL do vídeo. Neste artigo, mostro como obter tags de vídeo do YouTube usando a API do YouTube.

Usando este utilitário, pode-se obter tags de qualquer vídeo do YouTube fornecendo o URL correto do vídeo. Isso pode ajudar os YouTubers a visualizar as tags usadas em seus próprios vídeos / concorrentes. Isso irá adicionar benefícios para descobrir as tags relevantes para seus vídeos.

Abaixo estão os possíveis formatos de URL de qualquer vídeo do YouTube. Você deve usar a correspondência de URL com qualquer um dos formatos acima.

Começando

Para começar, primeiro você precisa obter uma chave de API de sua conta do Console do Google. Esta chave de API é necessária ao interagir com as APIs do YouTube. Sem essa chave, o YouTube considera todas as chamadas de API recebidas como não autorizadas.

Abaixo estão as etapas para obter a chave API.

  • Acesse o Google Developer Console https://console.developers.google.com.
  • Crie um novo projeto. Opcionalmente, você também pode selecionar um projeto existente.
  • Dê um nome ao seu projeto. O console do Google criará um ID de projeto exclusivo para você.
  • Seu projeto recém-criado aparecerá no topo da barra lateral esquerda.
  • Clique em Biblioteca no menu esquerdo. Você verá uma lista de APIs do Google. Ative a API de dados do YouTube.
  • A seguir, no menu esquerdo, clique em Credenciais. Selecione a chave API em Criar credenciais.
  • Copie esta chave de API.

Como obter tags de vídeo do YouTube usando a API do YouTube

Depois disso, crie um formulário simples onde você pode adicionar um URL de vídeo do YouTube e enviá-lo para processamento posterior.

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

Obtenha as tags de vídeo do YouTube usando a API do YouTube

Conforme mencionado antes, o YouTube oferece suporte a diferentes tipos de URLs. Precisamos examinar os diferentes formatos de URL e extrair a identificação do vídeo deles.

Vamos escrever a função que extrai o id do vídeo usando a expressão regular de um formato de URL de vídeo do YouTube compatível.

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

Em seguida, escreva um método que fornecerá uma chamada de API e processará a resposta. Essa resposta conteria as tags, portanto, retorne-a do mesmo método.

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 um usuário insere um URL de vídeo válido do YouTube, precisamos chamar a getYTTagsfunção e construir uma variável que contém uma lista de tags de vídeo.

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

Certifique-se de substituir os marcadores de posição pela sua chave de API real. Finalmente, exiba a lista de tags no formato HTML.

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

Código Final

Escrevemos o código em partes. Abaixo está o código final que você pode copiar e usar em seu aplicativo.

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

É tudo sobre como obter tags de vídeo do YouTube usando a API do YouTube e PHP. Por favor, compartilhe seus pensamentos e sugestões na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação