· 5 years ago · Nov 26, 2020, 05:18 PM
1<?php
2
3//Define a constant so that the API KEY can be used globally across the application
4define("YOUTUBE_DATA_API_KEY", 'AIzaSyAzDLhLFqywTZyE0iz353M0xzyC1XWlStw');
5
6function requestStatistics($url) {
7 // Open curl connection and set headers
8 $connection = curl_init();
9 curl_setopt($connection, CURLOPT_URL, $url);
10 curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
11
12 // Execute request and close
13 $response = curl_exec($connection);
14 curl_close($connection);
15
16 // Extract the data structure response
17 return json_decode($response);
18
19}
20
21// Get a single video Views by ID
22function youtube_video_statistics($video_id) {
23 $url = "https://www.googleapis.com/youtube/v3/videos?part=statistics&id=" . $video_id . "&key=" . YOUTUBE_DATA_API_KEY;
24
25 $jsonData = requestStatistics($url);
26 $views = $jsonData->items[0]->statistics->viewCount;
27 return $views;
28}
29
30// Retrieve all views
31function youtube_playlist_all_views($playlistId) {
32
33 $maxResults = 8;
34 $url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=' . $playlistId . '&maxResults=' . $maxResults . '&key=' . YOUTUBE_DATA_API_KEY;
35
36 // Extract the data structure response
37 $jsonData = requestStatistics($url);
38
39 foreach($string->items as $item) {
40 $total += youtube_video_statistics($item->snippet->resourceId->videoId);
41 }
42 return $total;
43}
44
45?>