youtubeの動画情報を下記のURLを入れるとゲットすることができました。
https://www.googleapis.com/youtube/v3/videos?id=WTLQQPBPL1U&key=【APIキー】&part=id, snippet, contentDetails, player, recordingDetails, statistics, status, topicDetails
上のhttpsのURLをブラウザに入れると
動画IDの情報が入手できる(ブラウザに表示される)のですが、その中から
"statistics": {
"viewCount": "1840904",
"likeCount": "1814",
"dislikeCount": "279",
"favoriteCount": "0",
"commentCount": "86"
},
上のviewcountの部分だけを抜き出す方法がわかりません。
Jqueryでやるサイトを見つけましたが、外部サイトが
上のURL(youtubeの動画を習得するページ)の場合どうやるのかよく理解できませんでした。
例)
http://qiita.com/yumetodo/items/00b37234cb86e741f0fb
javascriptでviewcountの部分を抜き出し、htmlに書き出す方法を教えて下さい。
こんな感じ。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { var apikey = "【APIキー】"; var video_id = "WTLQQPBPL1U"; var url = "https://www.googleapis.com/youtube/v3/videos?id=" + video_id + "&key=" + apikey + "&part=statistics"; $.getJSON(url, function(data) { // viewCount を取り出し var count = data.items[0].statistics.viewCount; // HTML に出力 $("#count").text(count); }); }); </script> <div id="count"></div>
viewCount だけが欲しいのであれば、URL の part= の部分は statistics だけで大丈夫です。
jsFiddle で試したのがこちら。
https://jsfiddle.net/keysgxhz/
例えば、サッカーで order=date を指定して検索すると、6番目からデータが変わってます。
5番目は
なのですが、6番目が
となっています。
2016/09/07 17:39:34videoId ではなく、playlistId が入っているために、内側の関連動画検索には relatedToVideoId=undefined を渡して検索しているために、API の応答がエラーになって返ります。
外側の search API で type=video も指定して、動画だけにすると大丈夫です。
→ Search: list | YouTube Data API (v3) | Google Developers
なるほど、それが原因だったのですね。Developersマニュアルで確認しました。これを使いこなしたらいろいろな情報が取れてとてもおもしろいです。JSONのデータの結果を表示させる方法などとても勉強になりました。ありがとうございます。
2016/09/08 10:37:45