Youtube视频持续时间API v3

时间:2015-05-07 12:43:35

标签: javascript jquery json api youtube

嘿伙计们,我对youtube的api v3有点问题。

问题是,如果json有这种结构

{
 "kind": "youtube#videoListResponse",
 "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/1jshwBhrF6O49W3oUmNF7rmkgAQ\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Zji9LPuiDCpb4GjgPpzdGgf85ws\"",
   "id": "3wFq1-pK05o",
   "contentDetails": {
    "duration": "PT1M1S",
    "dimension": "2d",
    "definition": "hd",
    "caption": "true",
    "licensedContent": true
   }
  }
 ]
}

我希望像这样获得视频时长

$.getJSON( "https://www.googleapis.com/youtube/v3/videos?id=XXXX&key=XXXXX&part=contentDetails", function( json ) {
  document.write( "JSON Data: " + json["items"]["contentDetails"]["duration"] );
 }); 

但它不起作用! 我不明白什么是错的。在我发疯之前请帮助我。

1 个答案:

答案 0 :(得分:2)

试试这个:

var json = {
    "kind": "youtube#videoListResponse",
    "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/1jshwBhrF6O49W3oUmNF7rmkgAQ\"",
    "pageInfo": {
        "totalResults": 1,
        "resultsPerPage": 1
    },
    "items": [{
        "kind": "youtube#video",
        "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Zji9LPuiDCpb4GjgPpzdGgf85ws\"",
        "id": "3wFq1-pK05o",
        "contentDetails": {
            "duration": "PT1M1S",
            "dimension": "2d",
            "definition": "hd",
            "caption": "true",
            "licensedContent": true
        }
    }]
}
console.log(json.items[0].contentDetails.duration);