我一直在尝试与Youtube JavaScript API v3获得视频持续时间,这是我的JS的相关部分:
var request = gapi.client.youtube.search.list({
q: 'eminem',
part: 'snippet'
});
request.execute(function(response) {
$('#results').empty()
var srchItems = response.result.items;
$.each(srchItems, function(index, item) {
vidTitle = item.snippet.title;
vidTime = item.contentDetails.duration;
vidThumburl = item.snippet.thumbnails.default.url;
$('#results').append('<pre>' + vidTitle + vidTime +'</pre>');
});
});
问题出现在vidTime = item.contentDetails.duration;
,控制台返回以下错误:
Uncaught TypeError: Cannot read property 'duration' of undefined
但是,我正在寻找请求中返回的JSON结构(见这里),它是工作的,我不知道为什么我得到这个错误:(
我试图将part
更改为:part: snippet, contentDetails
,但随着此更改,我有更多错误…
那么,如何解决这个问题呢?
分析console.log(response);
的返回,我可以看到contentDetails在数组中没有返回,但是我怎么能得到视频持续时间?
您的请求只包含部分代码片段。你还必须包含contentDetails.
var request = gapi.client.youtube.search.list({
q: 'eminem',
part: 'snippet,contentDetails'
});