Holen Sie sich Youtube-video-Titel mit der video-ID in PHP

Erste Sachen zuerst, DIES IST KEINE DOPPELTE FRAGE
Andere Antworten auf StackOverflow über die YouTube-API sind bereits 2013 und nicht mehr arbeiten.

Habe ich, um die YouTube-video-Titel mit YouTube-video-ID in PHP.

Momentan mache ich es so:

    $html = "http://www.youtube.com/watch?v=".$video_id;
    $doc = new DOMDocument();
    $doc->loadHTMLFile($html);
    $doc->preserveWhiteSpace = false;
    $title_div = $doc->getElementById('eow-title');
    $title = $title_div->nodeValue;

Aber das wirft Fehler wie:

Warning: DOMDocument::loadHTMLFile(http://www.youtube.com/watch?v=hMpCsfvi_3c): failed to open stream: HTTP request failed! HTTP/1.0 429 Too Many Requests in /home/vhosts/xxxx/xxxx/get_youtube_title.php on line 6

Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://www.youtube.com/watch?v=hMpCsfvi_3c" in /home/vhosts/xxxx/xxxx/get_youtube_title.php on line 6

Obige Methode funktioniert auf Godaddy hosting, aber nicht auf 101domain.com hosting.

Andere Methode, die ich versucht habe ist dieser:

if($content=file_get_contents("http://youtube.com/get_video_info?video_id=".$video_id)) {
    parse_str($content, $ytarr);
    $myvideos[$i]['video_title']=$ytarr['title'];
}
else
$myvideos[$i]['video_title']="No title";

Diese Fehler als:

Warning: DOMDocument::loadHTMLFile(http://youtube.com/get_video_info?video_id=hMpCsfvi_3c): failed to open stream: HTTP request failed! HTTP/1.0 402 Payment Required in /home/vhosts/xxxx/get_youtube_title.php on line 6

Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://youtube.com/get_video_info?video_id=hMpCsfvi_3c" in /home/vhosts/xxxx/get_youtube_title.php on line 6

Letzte Methode, die ich versuchte, ist dieses:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://youtube.com/get_video_info? video_id=".$video_id);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

Diese nicht werfen nicht alle Fehler, aber funktioniert auch nicht.
Error reporting ist E_ALL und display_errors auf 1 gesetzt ist.

Jemand hat mir gesagt, es ist sicherer, zu verwenden, YouTube API, denn ich bin neu auf YouTube API, ich brauche etwas Hilfe.

Können Sie bitte zeigen, wie bekomme ich den video-Titel mit der video-ID in PHP?
Auch ein einfach zu Folgen tutorials für YouTube-API.

InformationsquelleAutor Yogie | 2015-10-13
Schreibe einen Kommentar