[javascript] YouTube API로 동영상 조회수를 얻는 방법은 무엇입니까?

질문은 매우 간단합니다. YouTube API로 동영상 조회수를 얻는 방법은 무엇입니까?

여기에 이미지 설명 입력

작업은 간단하지만 많은 수의 비디오에 대해이 쿼리를 자주 사용하고 싶습니다. Youtube API를 호출하여 얻을 수있는 방법이 있습니까? (facebook http://api.facebook.com/restserver.php?method=links.getStats&urls=developers.facebook.com 과 같은 것 )



답변

가장 쉬운 방법은 비디오 정보를 JSON 형식으로 가져 오는 것입니다. JavaScript를 사용하려면 jQuery.getJSON ()을 사용해보십시오 .하지만 저는 PHP를 선호합니다.

<?php
$video_ID = 'your-video-ID';
$JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/{$video_ID}?v=2&alt=json");
$JSON_Data = json_decode($JSON);
$views = $JSON_Data->{'entry'}->{'yt$statistics'}->{'viewCount'};
echo $views;
?>

참조 : Youtube API-단일 비디오에 대한 정보 검색


답변

새로운 YouTube Data API v3를 사용할 수 있습니다.

동영상을 검색하면 통계 부분에 viewCount 가 포함 됩니다 .

문서에서 :

https://developers.google.com/youtube/v3/docs/videos#resource

statistics.viewCount / 동영상을 본 횟수입니다.

클라이언트 측 또는 일부 클라이언트 라이브러리를 사용하여 서버 측에서이 정보를 검색 할 수 있습니다.

https://developers.google.com/youtube/v3/libraries

문서에서 API 호출을 테스트 할 수 있습니다.

https://developers.google.com/youtube/v3/docs/videos/list

견본:

의뢰:

GET https://www.googleapis.com/youtube/v3/videos?part=statistics&id=Q5mHPo2yDG8&key={YOUR_API_KEY}

Authorization:  Bearer ya29.AHES6ZSCT9BmIXJmjHlRlKMmVCU22UQzBPRuxzD7Zg_09hsG
X-JavaScript-User-Agent:  Google APIs Explorer

응답:

200 OK

- Show headers -

{
 "kind": "youtube#videoListResponse",
 "etag": "\"g-RLCMLrfPIk8n3AxYYPPliWWoo/dZ8K81pnD1mOCFyHQkjZNynHpYo\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {

   "id": "Q5mHPo2yDG8",
   "kind": "youtube#video",
   "etag": "\"g-RLCMLrfPIk8n3AxYYPPliWWoo/4NA7C24hM5mprqQ3sBwI5Lo9vZE\"",
   "statistics": {
    "viewCount": "36575966",
    "likeCount": "127569",
    "dislikeCount": "5715",
    "favoriteCount": "0",
    "commentCount": "20317"
   }
  }
 ]
}


답변

API의 버전 2는 2014 년 3 월 이후로 더 이상 사용되지 않으며 이러한 다른 답변 중 일부가 사용하고 있습니다.

다음은 YouTube API v3에서 JQuery를 사용하여 동영상에서 조회수를 가져 오는 매우 간단한 코드 스 니펫입니다.

먼저 Google 개발자 콘솔을 통해 API 키를 만들어야합니다 .

<script>
  $.getJSON('https://www.googleapis.com/youtube/v3/videos?part=statistics&id=Qq7mpb-hCBY&key={{YOUR-KEY}}', function(data) {
    alert("viewCount: " + data.items[0].statistics.viewCount);
  });
</script>


답변

다음은 자바 스크립트를 사용하여 URL에서 YouTube 동영상 조회수를 가져 오는 작은 코드 스 니펫입니다.

아래 코드 데모

    function videoViews() {
var rex = /[a-zA-Z0-9\-\_]{11}/,
    videoUrl = $('input').val() === '' ? alert('Enter a valid Url'):$('input').val(),
    videoId = videoUrl.match(rex),
    jsonUrl = 'http://gdata.youtube.com/feeds/api/videos/' + videoId + '?v=2&alt=json',
   embedUrl = '//www.youtube.com/embed/' + videoId,
   embedCode = '<iframe width="350" height="197" src="' + embedUrl + '" frameborder="0" allowfullscreen></iframe>'


//Get Views from JSON
$.getJSON(jsonUrl, function (videoData) {
    var videoJson = JSON.stringify(videoData),
        vidJson = JSON.parse(videoJson),
        views = vidJson.entry.yt$statistics.viewCount;
    $('.views').text(views);
});

//Embed Video
$('.videoembed').html(embedCode);}


답변

공개 html의 일부를 검색하기 위해 API 키 를 사용하는 이유 !

curl , grepcut을 사용하는 가장 간단한 유닉스 명령 줄 시연 예제 .

curl https://www.youtube.com/watch?v=r-y7jzGxKNo | grep watch7-views-info | cut -d">" -f8 | cut -d"<" -f1

예, 전체 html 페이지를 얻습니다.이 손실은 수많은 이점에 대해 의미가 없습니다.


답변

이것도 사용할 수 있습니다.

<?php
    $youtube_view_count = json_decode(file_get_contents('http://gdata.youtube.com/feeds/api/videos/wGG543FeHOE?v=2&alt=json'))->entry->{'yt$statistics'}->viewCount;
    echo $youtube_view_count;
    ?>


답변

youtube-dl및 사용 jq:

views() {
    id=$1
    youtube-dl -j https://www.youtube.com/watch?v=$id |
        jq -r '.["view_count"]'
}

views fOX1EyHkQwc