0

特定の動画の再生回数を取得しようとしています。アプリケーションをセットアップし、OATH2 接続を作成しました。

私が使用している URL は次のとおりです: 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」(取得したい情報)は、「undefined」というレスポンスを返します

    $("#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

項目はオブジェクトではありません プロパティは配列です。してみてください

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

問題が解決することを願っています。

于 2013-06-05T17:28:52.663 に答える