질문은 매우 간단합니다. 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 , grep 및 cut을 사용하는 가장 간단한 유닉스 명령 줄 시연 예제 .
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