我需要获取YouTube播放列表中所有视频的时长。我知道在进行全部搜索时,API不会向我显示每个视频的时长,但是如果对特定视频进行查询,它确实会向我显示。
通过PHP,我尝试从播放列表中收集所有ID,然后分析每个ID以从视频中获取数据,但是该脚本太慢了,尽管应该强调它工作得很好,是否有任何方法可以对其进行优化? ...
function youtube_automusic($listas, $api_key, $resultados){
$nresultados = $resultados;
$lista_reproduccion_random = $listas;
$lista_reproduccion = $lista_reproduccion_random[array_rand($lista_reproduccion_random)];
$url_playlist = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&fields=items(snippet(resourceId(videoId)))&type=video&videoCategoryId=10&maxResults=".$nresultados."&playlistId=".$lista_reproduccion."&key=".$api_key;
$data = dlPage($url_playlist);
$data_decode = json_decode($data, true);
$number_song = 1;
$respuesta = array();
foreach ($data_decode as $items){
foreach ($items as $item){
$lista_ids =$item['snippet']['resourceId']['videoId'];
$url_video = "https://www.googleapis.com/youtube/v3/videos?id=".$lista_ids."&part=snippet,contentDetails&fields=items(etag,id,snippet(publishedAt,title,thumbnails(default(url)),tags),contentDetails(duration))&key=".$api_key;
$data_video = dlPage($url_video);
$data_video_decode = json_decode($data_video, true);
foreach ($data_video_decode as $items_videos){
foreach ($items_videos as $item_video){
$data_final = array(
'etag' => $item_video['etag'],
'idvideo' => $item_video['id'],
'titulovideo' => $item_video['snippet']['title'],
'thumbnail' => $item_video['snippet']['thumbnails']['default']['url'],
'duracion' => $item_video['contentDetails']['duration'],
'videoplay' => …Run Code Online (Sandbox Code Playgroud) 我使用 bootstrap 有以下 HTML 结构。我需要选择一个复选框来选择所有复选框,但我一直在测试的 javascript 代码不起作用(我不太擅长 javascript)。我认为这些代码不起作用,因为它们没有考虑使用引导程序的“活动”类。
以下 JavaScript 对我不起作用:
<script>
function toggle(source) {
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i] != source)
checkboxes[i].checked = source.checked;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
测试
<form action="" method="post" class="form-horizontal">
<fieldset>
<legend>EXAMPLE</legend>
<div class="form-group rowauto" data-toggle="buttons">
<label for="selectall">SELECT/UNSELECT ALL:</label>
<label class="btn btn-success active checkboxkox">
<input type="checkbox" id="selectall" name="selectall" autocomplete="off" checked>
<span class="glyphicon glyphicon-ok"></span>
</label>
</div>
</fieldset>
<fieldset>
<div class="row rowauto">
<div class="col-sm-1">
<div class="form-group rowauto" data-toggle="buttons"> …Run Code Online (Sandbox Code Playgroud) checkbox ×1
foreach ×1
google-api ×1
html ×1
javascript ×1
jquery ×1
optimization ×1
php ×1
youtube-api ×1