J'ai trouvé une fonction de Stack pour obtenir la longueur d'une vidéo Vimeo qui fonctionne bien avec un ID vidéo fourni sur le code d'origine, mais ne semble pas fonctionner quand je le change. ..Dynamiquement obtenir la longueur d'une vidéo Vimeo via PHP
Quelqu'un peut-il aider?
La fonction:
function vimeoVideoDuration($video_url) {
$video_id = (int)substr(parse_url($video_url, PHP_URL_PATH), 1);
$json_url = 'http://vimeo.com/api/v2/video/' . $video_id . '.xml';
$ch = curl_init($json_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$data = new SimpleXmlElement($data, LIBXML_NOCDATA);
if (!isset($data->video->duration)) {
return null;
}
$duration = $data->video->duration;
return $duration;
}
Quand je echo vimeoVideoDuration('https://vimeo.com/115134273');
le nombre de secondes pour que la vidéo fonctionne avec brio.
Cependant, si je change cela à mon propre ID vidéo je reçois plusieurs erreurs dans mon journal d'erreurs ... J'ai fourni ces ci-dessous:
[02-Nov-2016 12:57:20 UTC] PHP Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in /manage/view-module.php on line 28
[02-Nov-2016 12:57:20 UTC] PHP Warning: SimpleXMLElement::__construct(): 149029246 not found. in /manage/view-module.php on line 28
[02-Nov-2016 12:57:20 UTC] PHP Warning: SimpleXMLElement::__construct():^in /manage/view-module.php on line 28
[02-Nov-2016 12:57:20 UTC] PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /manage/view-module.php:28
Stack trace:
#0 /manage/view-module.php(28): SimpleXMLElement->__construct('149029246 not f...', 16384)
#1 /manage/view-module.php(51): vimeoVideoDuration('https://vimeo.c...')
#2 {main}
thrown in /manage/view-module.php on line 28
Avez-vous vérifié la réponse que vous obtenez de la appel curl? –
@PatrickQ J'ai trouvé que si je modifiais le paramètre de confidentialité 'Tout le monde' peut voir cette vidéo, cela fonctionne mais j'en ai besoin caché sur Vimeo car c'est une vidéo de cours que les gens paient sur mon site et je ne veux pas gratuit. Aucune suggestion? –