我想在一个网站中显示一个youtube视频的视图计数。下面的代码是为它写的。但它不打印视图计数,只显示youtube视频。
这是我的代码
`<!DOCTYPE html>
<html>
<head>
<title>How to put PHP in HTML - Simple Example</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
function videoViews() {
var rex = /[a-zA-Z0-9\-\_]{11}/,
videoUrl = $('input').val() === '' ? alert('Enter a valid Url'):$('input').val(),
videoId = videoUrl.match(rex),
jsonUrl = 'http://gdata.youtube.com/feeds/api/videos/' + videoId + '?v=2&alt=json',
embedUrl = '//www.youtube.com/embed/' + videoId,
embedCode = '<iframe width="350" height="197" src="' + embedUrl + '" frameborder="0" allowfullscreen></iframe>';
//Get Views from JSON
$.getJSON(jsonUrl, function (videoData) {
var videoJson = JSON.stringify(videoData),
vidJson = JSON.parse(videoJson),
views = vidJson.entry.yt$statistics.viewCount;
$('.views').text(views);
});
//Embed Video
$('.videoembed').html(embedCode);
}
</script>
</head>
<body>
<input type="url" placeholder="Enter Youtube video URL">
<a href="#" onClick="videoViews()">GO</a>
<div class="videoembed"></div>
<div class="views"></div>
<?php
if(isset($_GET['url'])) {
$video_ID = substr($_GET['url'], -11);
$JSON = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id={$video_ID}&key=AIzaSyAGquK-QPs8yaddEqhL1AEmYbrJKT6xs04");
$JSON_Data = json_decode($JSON);
$views = $JSON_Data->items[0]->statistics->viewCount;
echo "<script>$('.views').text($views);</script>";
}
?>
</body>
</html>`
我想在我的网站中显示给定视频的视图数。
2条答案
按热度按时间uxh89sit1#
在JavaScript代码中,您正在使用YouTube Data API获取YouTube视频的观看次数,并使用该次数更新
.views
元素。然而,在PHP代码中,您正在尝试使用不同的API端点执行相同的操作。要修复此问题并使用YouTube Data API显示视图计数,您可以删除PHP代码并更新JavaScript代码,如下所示:
1.将现有的
jsonUrl
变量替换为以下内容:将YOUR_API_KEY替换为您自己的YouTube数据API密钥。
1.更新
$.getJSON
函数以处理API响应并更新页面上的视图计数。将现有的$.getJSON
函数替换为以下内容:这段代码从JSON响应中获取视图计数,并使用该计数更新
.views
元素。通过这些更改,您的代码现在应该显示指定YouTube视频的观看次数。请注意,您需要拥有有效的YouTube Data API密钥,并将其包含在API请求中以检索观看次数。
k5ifujac2#
这里有一个更抽象的方法来实现可重用性和使用普通的javascript函数。
我们为API调用声明一个返回promise的函数。然后我们声明一个仅返回API响应中的viewCount属性的函数。