Kuinka hankkia YouTube-videotunnisteet YouTube-sovellusliittymän avulla
Viime aikoina työskentelin projektissa, jossa asiakkaamme haluaa saada tunnisteita YouTube-videoista. He käyttävät YouTube-kanavaaan ja halusivat yksinkertaisen apuohjelman hakemaan tunnisteet kaikista YouTube-videoista videon URL-osoitteen avulla. Tässä artikkelissa näytän sinulle, miten voit hankkia YouTube-videotunnisteita YouTube-sovellusliittymän avulla.
Tämän apuohjelman avulla voi saada tunnisteita kaikista YouTube-videoista, joissa on oikea video-URL. Tämä voi auttaa YouTubereita tarkastelemaan omissa / kilpailevien videoissaan käytettyjä tunnisteita. Se lisää etuja, kun selvitetään heidän videoihinsa liittyvät tunnisteet.
Alla ovat minkä tahansa YouTube-videon mahdolliset URL-muodot. Sinun on käytettävä URL-osoitetta, joka vastaa mitä tahansa yllä mainituista muodoista.
- https://youtu.be/VIDEO_ID
- https://www.youtube.com/embed/VIDEO_ID
- https://www.youtube.com/watch?v=VIDEO_ID
Päästä alkuun
Aloittamiseksi sinun on ensin hankittava sovellusliittymäavain Google Console -tililtäsi. Tämä sovellusliittymäavain on välttämätön, kun se on vuorovaikutuksessa YouTube-sovellusliittymien kanssa. Ilman tätä avainta YouTube pitää kaikkia saapuvia API-puheluja luvattomina.
Alla on vaiheet API-avaimen nappaamiseksi.
- Siirry Google Developer Consoleen https://console.developers.google.com.
- Luo uusi projekti. Vaihtoehtoisesti voit myös valita olemassa olevan projektin.
- Anna projektillesi nimi. Google Console luo sinulle yksilöllisen projektitunnuksen.
- Uusi luomasi projekti näkyy vasemman sivupalkin yläosassa.
- Napsauta vasemmasta valikosta Kirjasto. Näet luettelon Google-sovellusliittymistä. Ota käyttöön YouTube Data -sovellusliittymä.
- Napsauta sitten vasemmanpuoleisesta valikosta Tunnistetiedot. Valitse API-avain Luo kirjautumistiedot -kohdasta.
- Kopioi tämä API-avain.
Tämän jälkeen luo yksinkertainen lomake, johon voit lisätä YouTube-videon URL-osoitteen ja lähettää sen jatkokäsittelyä varten.
<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>
Hanki YouTube-videotunnisteet YouTube-sovellusliittymän avulla
Kuten aiemmin mainittiin, YouTube tukee erityyppisiä URL-osoitteita. Meidän on tutkittava erilaisia URL-muotoja ja purettava niistä videotunnus.
Kirjoitetaan toiminto, joka poimii videotunnuksen säännöllisen lausekkeen avulla tuetusta YouTube-videon URL-muodosta.
function extractVideoID($url){
$regExp = "/^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch?))??v?=?([^#&?]*).*/";
preg_match($regExp, $url, $video);
return $video[7];
}
Kirjoita seuraavaksi menetelmä, joka antaa API-kutsun ja käsittelee vastauksen. Tämä vastaus sisältäisi tunnisteet, joten palauta se samasta menetelmästä.
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.");
}
}
Kun käyttäjä antaa kelvollisen YouTube-videon URL-osoitteen, meidän on soitettava getYTTags
toiminto ja rakennettava muuttuja, joka sisältää luettelon videotageista.
$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);
}
Muista korvata paikkamerkit todellisella API-avaimella. Näytä lopuksi tunnisteiden luettelo HTML-muodossa.
if (!empty($arr_tags)) {
echo "<ul>";
foreach ($arr_tags as $tag) {
echo "<li>$tag</li>";
}
echo "</ul>";
}
Lopullinen koodi
Olemme kirjoittaneet koodin palasiksi. Alla on lopullinen koodi, jonka voit kopioida ja käyttää sovelluksessasi.
<?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>";
}
Kyse on YouTube-videotunnisteiden hankkimisesta YouTube-sovellusliittymän ja PHP: n avulla. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.