ইউটিউব এপিআই দিয়ে ভিডিও দেখার সংখ্যা কীভাবে পাবেন?


84

প্রশ্নটি খুব সাধারণ। ইউটিউব এপিআই দিয়ে ভিডিও দেখার সংখ্যা কীভাবে পাবেন?

এখানে চিত্র বর্ণনা লিখুন

কাজটি সহজ তবে আমি খুব সহজেই প্রচুর সংখ্যক ভিডিওতে এই ক্যোয়ারীটি ব্যবহার করতে চাই। তাদের ইউটিউব এপিআই কল করে এটি পাওয়ার কোনও উপায় আছে কি? (ফেসবুক http://api.facebook.com/restserver.php?method=links.getStats&urls=developers.facebook.com এর মতো কিছু )


আপনি এটি করতে শুধুমাত্র জাভাস্ক্রিপ্ট ব্যবহার করতে চান?
ভিক্টর

যে কিছু কাজ করে তা ভালভাবে পরিবর্তিত হয়। যেমনটি আমি বলেছি, আমার অবশ্যই প্রচুর সংখ্যক ভিডিওতে প্রায়শই জিজ্ঞাসা করা উচিত।
পূর্ব

সম্পর্কিত নয়: LOL @ ফেসবুক। আপনার যদি একটি থাকে তবে restserver.phpআপনি স্পষ্টভাবে পয়েন্টটি মিস করছেন।
রুডি

এই ইউটিউব ডেটা এপিআই v3 নমুনা এপিআই url চেক করুন freakyjolly.com/youtube-data-v3-api-sample-api-get-url
কোড স্পাই

উত্তর:


76

আমি মনে করি, সহজতম উপায় হ'ল জেএসওএন ফর্ম্যাটে ভিডিও সম্পর্কিত তথ্য। আপনি যদি জাভাস্ক্রিপ্ট ব্যবহার করতে চান তবে jQuery.getJSON () চেষ্টা করুন ... তবে আমি পিএইচপি পছন্দ করি:

<?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;
?>

রেফ: ইউটিউব এপিআই - একটি ভিডিও সম্পর্কে তথ্য পুনরুদ্ধার করা


4
ধন্যবাদ, আপনি আমাকে প্রায় 30 মিনিট খননের সময় বাঁচিয়েছেন :)
মার্টিন

এই কাছাকাছি মেয়াদোত্তীর্ণ হতে হবে ?? আমার সমস্ত ভিডিওগুলি এই পদ্ধতির মাধ্যমে গণনাগুলি
ভিডিয়ো

ইউটিউব জনপ্রিয় ভিডিওগুলির জন্য দর্শন বিলম্ব করে, আপনি এটি সম্পর্কে তেমন কিছু করতে পারেন না।
ডিলান ক্রস

4
অবগতির জন্য এই এপ্রিল 20th, 2015 প্রায় কপর্দকশূন্য এবং শুধুমাত্র আয় জন্য তথ্য দেখতে youtube.com/watch?v=UKY3scPIMd8 যা পয়েন্ট youtube.com/devicesupport । মূলত, v3 API ব্যবহার করুন।
রায়ান ডুভাল

4
ERR_INVALID_RESPONSE
আলেক্সি শ।

66

আপনি নতুন ইউটিউব ডেটা এপিআই v3 ব্যবহার করতে পারেন

যদি আপনি ভিডিওটি পুনরুদ্ধার করেন তবে পরিসংখ্যান অংশে ভিউকোন্ট থাকে :

ডক থেকে:

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

পরিসংখ্যান.ভিউকাউন্ট / ভিডিওটি কতবার দেখা হয়েছে তার সংখ্যা।

আপনি ক্লায়েন্ট সাইডে বা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে সার্ভার সাইডে এই তথ্যটি পুনরুদ্ধার করতে পারেন:

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"
   }
  }
 ]
}

4
এটি এখন যেতে উপায়, থেকে V2 গুগল এপিআই মার্চ 2014. যেহেতু অবচিত অতিরিক্ত টিপ: এক এই মত API- এর একাধিক অংশ উদ্ধার করতে পারেন: part=statistics,contentDetails। তবুও এমনকি ভি 2 এপিআই বেশিরভাগ ক্ষেত্রে কাজ করে বলে মনে হয়, এটি কিছু ভিডিওতে আসে না।
কয়েল

11

মার্চ ২০১৪ সাল থেকে এপিআই-এর 2 সংস্করণ অবচয় করা হয়েছে, যা এই অন্যান্য কিছু উত্তর ব্যবহার করছে।

ইউটিউব এপিআই v3 তে JQuery ব্যবহার করে কোনও ভিডিও থেকে দর্শন গণনা পেতে এখানে একটি খুব সহজ কোড স্নিপেট।

আপনাকে প্রথমে গুগল বিকাশকারী কনসোলের মাধ্যমে একটি 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>

8

জাভাস্ক্রিপ্ট ব্যবহার করে ইউটিউব থেকে ইউটিউব ভিডিও ভিউগুলি পেতে এখানে একটি ছোট কোড স্নিপেট

নীচের কোডের ডেমো

    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);}

মহান ডেমো জন্য ধন্যবাদ!
গ্যারেথ

6

কেন যে কোনও এপি কী ব্যবহার করছেনপাবলিক এইচটিএমএলের একটি অংশ পুনরুদ্ধার করতে !

কার্ল , গ্রেপ এবং কাট ব্যবহার করে সাধারণতম ইউনিক্স কমান্ড লাইন প্রদর্শনের উদাহরণ ।

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

হ্যাঁ, এটি সম্পূর্ণ এইচটিএমএল পৃষ্ঠাটি পেয়েছে, এই ক্ষতির অগণিত সুবিধার বিরুদ্ধে কোনও অর্থ নেই।


4

আপনি এটি ব্যবহার করতে পারেন:

<?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;
    ?>

আপনি আরও কি ভাষা ব্যবহার করেছেন তা ব্যাখ্যা করতে পারেন।
রহিল উজির

এটি API এর পুরানো ভি 2 ব্যবহার করছে বলে মনে হচ্ছে যা এখন হ্রাস করা হয়েছে।
সাইমন ইস্ট

3

ব্যবহার youtube-dlএবং jq:

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

views fOX1EyHkQwc

2

গুগল পিএইচপি এপিআই ক্লায়েন্ট ব্যবহার করুন: https://github.com/google/google-api-php-client

একক ভিডিও আইডির জন্য ইউটিউব পরিসংখ্যান পাওয়ার জন্য এখানে একটি ছোট মিনি ক্লাস রয়েছে। এপিআইয়ের বাকি অংশটি ব্যবহার করে স্পষ্টতই এটি এক টোন বাড়ানো যেতে পারে: https://api.kdyby.org/class-Google_Service_YouTube_Video.html

class YouTubeVideo
{
    // video id
    public $id;

    // generate at https://console.developers.google.com/apis
    private $apiKey = 'REPLACE_ME';

    // google youtube service
    private $youtube;

    public function __construct($id)
    {
        $client = new Google_Client();
        $client->setDeveloperKey($this->apiKey);

        $this->youtube = new Google_Service_YouTube($client);

        $this->id = $id;
    }

    /*
     * @return Google_Service_YouTube_VideoStatistics
     * Google_Service_YouTube_VideoStatistics Object ( [commentCount] => 0 [dislikeCount] => 0 [favoriteCount] => 0 [likeCount] => 0 [viewCount] => 5 )  
     */
    public function getStatistics()
    {
        try{
            // Call the API's videos.list method to retrieve the video resource.
            $response = $this->youtube->videos->listVideos("statistics",
                array('id' => $this->id));

            $googleService = current($response->items);
            if($googleService instanceof Google_Service_YouTube_Video) {
                return $googleService->getStatistics();
            }
        } catch (Google_Service_Exception $e) {
            return sprintf('<p>A service error occurred: <code>%s</code></p>',
                htmlspecialchars($e->getMessage()));
        } catch (Google_Exception $e) {
            return sprintf('<p>An client error occurred: <code>%s</code></p>',
                htmlspecialchars($e->getMessage()));
        }
    }
}


1

এখানে আমি আমার টিউবকাউন্ট অ্যাপ্লিকেশনটিতে ব্যবহার করেছি এমন একটি উদাহরণ ।

আমি জেএসএন ফলাফল ফিল্টার করতে ক্ষেত্রগুলির পরামিতিও ব্যবহার করি, সুতরাং কেবলমাত্র আমার প্রয়োজন ক্ষেত্রগুলিই ফিরে আসবে।

var fields = "fields=openSearch:totalResults,entry(title,media:group(yt:videoid),media:group(yt:duration),media:group(media:description),media:group(media:thumbnail[@yt:name='default'](@url)),yt:statistics,yt:rating,published,gd:comments(gd:feedLink(@countHint)))";

var channel = "wiibart";

$.ajax({
    url: "http://gdata.youtube.com/feeds/api/users/"+channel+"/uploads?"+fields+"&v=2&alt=json",
    success: function(data){

        var len = data.feed.entry.length;

        for(var k =0; k<len; k++){
            var yt = data.feed.entry[k];
            v.count = Number(yt.yt$statistics != undefined && yt.yt$statistics.viewCount != undefined ? yt.yt$statistics.viewCount : 0);
        }
    }
});

Alt = json ক্যোয়ারী পরম যোগ করার জন্য ধন্যবাদ। ডিফল্ট প্রতিক্রিয়াটি পরমাণু
জোনাথন মোরালেস ভেলিজ

1

এখানে পিএইচপি-তে একটি সাধারণ ফাংশন যা কোনও ইউটিউব ভিডিওতে দেখা দর্শনগুলির সংখ্যা প্রদান করে। এটি কাজ করার জন্য আপনার ইউটিউব ডেটা এপিআই কী (v3) প্রয়োজন। যদি আপনার কাছে কী না থাকে তবে এখানে বিনা মূল্যে একটি পান: ইউটিউব ডেটা এপিআই

//Define a constant so that the API KEY can be used globally across the application    
define("YOUTUBE_DATA_API_KEY", 'YOUR_YOUTUBE_DATA_API_KEY');

function youtube_video_statistics($video_id) {
    $json = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id=" . $video_id . "&key=". YOUTUBE_DATA_API_KEY );
    $jsonData = json_decode($json);
    $views = $jsonData->items[0]->statistics->viewCount;
    return $views;
}

//Replace YOUTUBE_VIDEO_ID with your actual YouTube video Id
echo youtube_video_statistics('YOUTUBE_VIDEO_ID');

আমি আমার অ্যাপ্লিকেশনটিতে এই সমাধানটি ব্যবহার করছি এবং এটি আজকের মতো কাজ করছে। সুতরাং API কী এবং ইউটিউব ভিডিও আইডি পান এবং তাদের উপরের কোডে (দ্বিতীয় লাইন এবং শেষ লাইন) প্রতিস্থাপন করুন এবং আপনার ভাল হওয়া উচিত।


1

পিএইচপি JSON

$jsonURL = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id=$Videoid&key={YOUR-API-KEY}&part=statistics");
$json = json_decode($jsonURL);

প্রথমে এটিকে অবিরাম ছাড়িয়ে যান

//var_dump(json);

এবং মতামত গণনা হিসাবে পাবেন:

$vcounts = $json->{'items'}[0]->{'statistics'}->{'viewCount'};


1

আপনি জিকুয়ারি ব্যবহার করতে পারেন, Your-Api-Keyনীচের কোড থেকে স্ট্রিং প্রতিস্থাপন করতে ভুলবেন না , আপনার নিজের এপিআই কী গুগল বিকাশকারীদের কনসোল খুঁজতে লিঙ্কটি অনুসরণ করুন

<script>
    $.getJSON('https://www.googleapis.com/youtube/v3/videospart=statistics&id=Qq7mpb-hCBY&key=Your-Api-Key', function(data) {
        console.log("viewCount: ", data.items[ 0 ].statistics.viewCount);
    });
</script>

-7

এটি সম্ভবত আপনি যা চান তা নয় তবে আপনি নিম্নলিখিত ব্যবহার করে তথ্যের জন্য পৃষ্ঠাটি স্ক্র্যাপ করতে পারেন:

document.getElementsByClassName('watch-view-count')[0].innerHTML

4
ইউটিউব সতর্ক করে যখন এপিআই পরিবর্তন হতে চলেছে। তবে এটি ওয়েবসাইটটিতে বিকাশকারীদের সাথে কোনও চুক্তি করে না। সুতরাং এটি ভাল ধারণা নয়
FRAGA
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.