Javascript 如何使用Youtube API v3显示搜索结果的视频持续时间?
我可以从Youtube API返回搜索结果 如何显示搜索结果的持续时间?我在json数据的任何地方都看不到持续时间Javascript 如何使用Youtube API v3显示搜索结果的视频持续时间?,javascript,youtube-api,Javascript,Youtube Api,我可以从Youtube API返回搜索结果 如何显示搜索结果的持续时间?我在json数据的任何地方都看不到持续时间 function ySearch(e) { let searchYt = searchTermYt.value; search = encodeURIComponent(searchYt); let urlYt = 'https://www.googleapis.com/youtube/v3/search/?part=snippet&type=vid
function ySearch(e) {
let searchYt = searchTermYt.value;
search = encodeURIComponent(searchYt);
let urlYt = 'https://www.googleapis.com/youtube/v3/search/?part=snippet&type=video&key=' + apiYt + '&q=' + searchYt + '&maxResults=5';
if (e.target.token) {
urlYt += '&pageToken='+e.target.token;
}
fetch(urlYt).then(function (response) {
return response.json()
}).then(function (data) {
// check for page token to enable or disable page buttons
if(data.prevPageToken){
btnPrev.token = data.prevPageToken;
btnPrev.disabled = false;
}else{
btnPrev.token = false;
btnPrev.disabled = true;
}
if(data.nextPageToken){
btnNext.token = data.nextPageToken;
btnNext.disabled = false;
}else{
btnNext.token = false;
btnNext.disabled = true;
}
return data.items.map(function (x) {
return {
title: x.snippet.title,
// use id in URL to watch video
id: x.id.videoId
}
})
}).then(function (array) {
renderData(array);
}).catch(function (error) {
console.log(error);
})
}
搜索结果不包含视频持续时间。您必须从搜索结果中获取VideoID,并使用VideoID和部件参数“contentDetails”再次调用 例如: 会回来的
{
"kind": "youtube#videoListResponse",
"etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/CbYwR7FePSZfjlzY4mNeMODOwJA\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/9xoE3Yy_gyWHNwLgpi4jyoRrmGY\"",
"id": "gVLsVj7BebE",
"contentDetails": {
"duration": "PT4M2S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": false,
"projection": "rectangular"
}
}
]
}
谢谢你给我指明了正确的方向。是否可以将视频:列表代码放入我当前的函数中,或者您建议我创建一个新函数?如何从我的serches中获取多个videoID的持续时间而不是一个?@user11721344,要获取多个视频的持续时间,需要使用video.list请求-正如用户johnh10所述,并在id参数中添加以逗号分隔的videoID。阅读johnh10答案中的链接文档。