0

我正在尝试检索特定视频的观看次数。我已经设置了我的应用程序,创建了 OATH2 连接等。

我使用的网址是:https ://www.googleapis.com/youtube/v3/videos?id= {video-id}&key={API-key}%20&fields=items(statistics)&part=statistics

直接访问此 URL 会以 JSON 格式的响应正确响应,其中包含我需要的所有信息。我已在多个浏览器中尝试过此操作,并确保我在使用 URL 时已退出我的帐户。它仍然正确响应。

{
 "items": [
  {
   "statistics": {
    "viewCount": "21997",
    "likeCount": "1",
    "dislikeCount": "2",
    "favoriteCount": "0",
    "commentCount": "2"
   }
  }
 ]
}

但是,当我尝试解析此信息时,结果并不如预期:

<script>

    $.getJSON("{https://www.googleapis.com/youtube/v3/videos?id={video-id}&key={API-key}%20&fields=items(statistics)&part=statistics", function(data) {

        $("#results").append('<p>' + data.items.statistics.viewCount + '</p>');

    });

</script>

<div id="results"></div>
  1. “data.items.statistics.viewCount”(这是我要检索的信息),返回响应“未定义”

    $("#results").append('<p>' + data.items.statistics.viewCount + '</p>');
    
  2. 只是为了测试它,我使用“data”作为上面的变量,并使用“data.items”,我得到响应“[object Object]”

    $("#results").append('<p>' + data.items + '</p>');
    
  3. 如果我将“data”更改为“data.items.statistics”,我会得到响应“undefined”

    $("#results").append('<p>' + data.items.statistics + '</p>');
    

关于我可能做错了什么以及如何纠正这个问题的任何想法?

谢谢!

4

1 回答 1

2

items 不是对象属性是数组。尝试

$("#results").append('<p>' + data.items[0].statistics.viewCount + '</p>');

我希望这能解决你的问题。

于 2013-06-05T17:28:52.663 回答