【问题标题】:Youtube Video Duration API v3 [closed]Youtube 视频时长 API v3 [关闭]
【发布时间】:2015-07-18 01:07:09
【问题描述】:

大家好,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"] );
 }); 

但它不起作用! 我不明白出了什么问题。在我发疯之前请帮助我。

【问题讨论】:

  • 请让我们知道出了什么问题并且不起作用...日志、控制台或任何其他元素都可以帮助我们为您提供帮助!
  • 是的,我忘记了 :( 日志是:未捕获的类型错误:无法读取未定义的属性“持续时间”
  • 我用json.items[0].contentDetails.duration解决了

标签: javascript jquery json api youtube


【解决方案1】:

试试这个:

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);

【讨论】:

  • 也可以使用下标符号[]:json.items[0][contentDetails][duration]
  • 你是对的,但你没有添加单引号。示例:json.items[0]['contentDetails']['duration']
猜你喜欢
  • 1970-01-01
  • 2018-06-28
  • 2015-12-07
  • 2013-11-12
  • 2017-04-07
  • 2016-08-27
  • 2018-11-30
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多