1. Go to this page and download the library: Download devsarfo/youtube library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
// use DevSarfo\Youtube\Facades\Youtube;
// Return an STD PHP object
$video = Youtube::getVideoInfo('n5Xp3M8lvzw');
// Get multiple videos info from an array
$videoList = Youtube::getVideoInfo(['n5Xp3M8lvzw','Attb0hi2Dpk']);
// Get localized video info
$video = Youtube::getLocalizedVideoInfo('Attb0hi2Dpk', 'en');
// Get multiple videos related to a video
$relatedVideos = Youtube::getRelatedVideos('Attb0hi2Dpk');
// Get comment threads by videoId
$commentThreads = Youtube::getCommentThreadsByVideoId('Attb0hi2Dpk');
// Get popular videos in a country, return an array of PHP objects
$videoList = Youtube::getPopularVideos('us');
// Search playlists, channels and videos. return an array of PHP objects
$results = Youtube::search('Android');
// Only search videos, return an array of PHP objects
$videoList = Youtube::searchVideos('Android');
// Search only videos in a given channel, return an array of PHP objects
$videoList = Youtube::searchChannelVideos('keyword', 'UCTiH4aWrbJ1u0UVmjH_rUxQ', 40);
// List videos in a given channel, return an array of PHP objects
$videoList = Youtube::listChannelVideos('UCTiH4aWrbJ1u0UVmjH_rUxQ', 40);
$results = Youtube::searchAdvanced([ /* params */ ]);
// Get channel data by channel name, return an STD PHP object
$channel = Youtube::getChannelByName('xdadevelopers');
// Get channel data by channel ID, return an STD PHP object
$channel = Youtube::getChannelById('UCTiH4aWrbJ1u0UVmjH_rUxQ');
// Get playlist by ID, return an STD PHP object
$playlist = Youtube::getPlaylistById('PLKreJXVT4v6w2PinY');
// Get playlists by multiple ID's, return an array of STD PHP objects
$playlists = Youtube::getPlaylistById(['PL590L5WQmH8fJ54F369BLDSqIwcs-TCfs', 'PL590L5WQmH8cUsRyHkk1cPGxW0j5kmhm0']);
// Get playlist by channel ID, return an array of PHP objects
$playlists = Youtube::getPlaylistsByChannelId('UCTiH4aWrbJ1u0UVmjH_rUxQ');
// Get items in a playlist by playlist ID, return an array of PHP objects
$playlistItems = Youtube::getPlaylistItemsByPlaylistId('PL590L5WQmH8fJ54F369BLDSqIwcs-TCfs');
// Get channel activities by channel ID, return an array of PHP objects
$activities = Youtube::getActivitiesByChannelId('UCTiH4aWrbJ1u0UVmjH_rUxQ');
// Retrieve video ID from original YouTube URL
$videoId = Youtube::parseVidFromURL('https://www.youtube.com/watch?v=iFshb7ZsXAg');
// result: iFshb7ZsXAg
// use DevSarfo\Youtube\Rules\ValidYoutubeVideo;
// Validate a YouTube Video URL
[
'youtube_video_url' => ['bail', '
// Set default parameters
$params = [
'q' => 'Android',
'type' => 'video',
'part' => 'id, snippet',
'maxResults' => 50
];
// Make intial call. with second argument to reveal page info such as page tokens
$search = Youtube::searchAdvanced($params, true);
// Check if we have a pageToken
if (isset($search['info']['nextPageToken'])) {
$params['pageToken'] = $search['info']['nextPageToken'];
}
// Make another call and repeat
$search = Youtube::searchAdvanced($params, true);
// Add results key with info parameter set
print_r($search['results']);
/* Alternative approach with new built-in paginateResults function */
// Same params as before
$params = [
'q' => 'Android',
'type' => 'video',
'part' => 'id, snippet',
'maxResults' => 50
];
// An array to store page tokens so we can go back and forth
$pageTokens = [];
// Make inital search
$search = Youtube::paginateResults($params, null);
// Store token
$pageTokens[] = $search['info']['nextPageToken'];
// Go to next page in result
$search = Youtube::paginateResults($params, $pageTokens[0]);
// Store token
$pageTokens[] = $search['info']['nextPageToken'];
// Go to next page in result
$search = Youtube::paginateResults($params, $pageTokens[1]);
// Store token
$pageTokens[] = $search['info']['nextPageToken'];
// Go back a page
$search = Youtube::paginateResults($params, $pageTokens[0]);
// Add results key with info parameter set
print_r($search['results']);
// Directly call the YouTube constructor
$youtube = new Youtube(config('YOUTUBE_API_KEY'));
// By default, if the $_SERVER['HTTP_HOST'] header is set,
// it will be used as the `Referer` header. To override
// this setting, set 'use-http-host' to false during
// object construction:
$youtube = new Youtube(config('YOUTUBE_API_KEY'), ['use-http-host' => false]);
// This setting can also be set after the object was created
$youtube->useHttpHost(false);