✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas hankida YouTube’i videomärgendeid YouTube’i API abil

17

Hiljuti töötasin projektiga, kus meie klient soovib saada YouTube’i videote silte. Nad käitavad oma YouTube’i kanalit ja soovisid lihtsat utiliiti, et saada video URL-i kasutades mis tahes YouTube’i video märgendid. Selles artiklis näitan teile, kuidas YouTube’i videomärgendeid hankida YouTube’i API abil.

Selle utiliidi abil saab igast YouTube’i videost sildid, mis annavad õige video URL-i. See võib aidata YouTube’i kasutajatel vaadata oma / konkurendi videote jaoks kasutatud silte. See lisab eeliseid nende videote asjakohaste siltide väljaselgitamiseks.

Allpool on esitatud mis tahes YouTube’i video võimalikud URL-i vormingud. URL-i sobitamiseks peate kasutama mis tahes ülaltoodud vormingut.

Alustamine

Alustamiseks peate kõigepealt hankima oma Google Console’i ​​kontolt API-võtme. See API-võti on vajalik YouTube’i API-dega suhtlemisel. Ilma selle võtmeta peab YouTube kõiki sissetulevaid API-kõnesid volitamata.

Allpool on juhised API võtme haaramiseks.

  • Minge Google’i arendajakonsooli https://console.developers.google.com.
  • Looge uus projekt. Soovi korral saate valida ka olemasoleva projekti.
  • Pange oma projektile nimi. Google Console loob teile ainulaadse projekti ID.
  • Teie äsja loodud projekt ilmub vasaku külgriba ülaossa.
  • Klõpsake vasakpoolses menüüs valikut Raamatukogu. Näete Google’i API-de loendit. Lubage YouTube Data API.
  • Järgmiseks klõpsake vasakpoolses menüüs valikut Mandaadid. Valige API-võti loo Mandaatide loomine alt.
  • Kopeerige see API võti.

Kuidas hankida YouTube'i videomärgendeid YouTube'i API abil

Pärast seda looge lihtne vorm, kuhu saate lisada YouTube’i video URL-i ja saata selle edasiseks töötlemiseks.

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

Hankige YouTube’i videomärgendid YouTube’i API abil

Nagu varem mainitud, toetab YouTube erinevat tüüpi URL-e. Peame uurima erinevaid URL-i vorminguid ja eraldama neist video ID.

Kirjutame funktsiooni, mis eraldab video ID, kasutades regulaaravaldist toetatud YouTube’i video URL-vormingus.

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

Järgmisena kirjutage meetod, mis annab API-kõne ja töötleb vastust. See vastus sisaldaks silte, nii et tagastage see samalt meetodilt.

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

Kui kasutaja sisestab kehtiva YouTube’i video URL-i, peame helistama getYTTagsfunktsiooni ja koostama muutuja, mis sisaldab videomärgendite loendit.

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

Asendage kohatäited oma tegeliku API-võtmega. Lõpuks kuvage HTML-vormingus siltide loend.

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

Lõplik koodeks

Oleme koodi kirjutanud tükkideks. Allpool on lõplik kood, mille saate oma rakenduses kopeerida ja kasutada.

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

See kõik on seotud YouTube’i videomärgendite hankimisega YouTube’i API ja PHP abil. Palun jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem