В предыдущей статье я разбирался с работой с YouTube API на Python, а сегодня сделаю почти тоже самое на PHP. В сегодняшнем видео я уберу почти всю теорию о которой говорил в видео с питоном, поэтому если вы раньше с Google API не работали, то посмотрите его обязательно.
Видео о начале работы с YouTube API на PHP
Подготовка проекта
Я использую composer, он у меня установлен глобально. Можно обойтись и без него, но в моих заметках я его использую.
1 2 3 4 5 |
// Init composer project mkdir /home/web/azzrael.ru/yt # при необходимости chown -R www-data:www-data /home/web/azzrael.ru/yt cd /home/web/azzrael.ru/yt composer init |
Установка Google API PHP Client
Для работы с YouTube API я использую Google API PHP Client https://github.com/googleapis/google-api-php-client . Установка его через композер:
1 2 |
// install Google API PHP Client Lib https://github.com/googleapis/google-api-php-client composer require google/apiclient:"^2.7" |
Код скрипта
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
<?php // dont looook at, just for yt blogger safety PHP_SAPI === 'cli' || (isset($_GET['key']) && $_GET['key'] == require_once "secret.php") || die("not allowed"); require_once 'vendor/autoload.php'; echo "*** Hola Hey, Azzrael subs!!! <br>\n"; /** * Get YouTube Service * @return Google_Service_YouTube */ function getService() { $client = new Google\Client(); $client->setApplicationName("Azzrael YouTube API PHP Example"); $client->setDeveloperKey("AIzaSyCIF4lv2tVPIhWb22me2pCDy6Iut9tnisw"); return new Google_Service_YouTube($client); } /** * Get Channel Info and Stats * https://developers.google.com/youtube/v3/docs/channels/list * @param string $channel_id */ function getChannelInfo($channel_id = "UCf6kozNejHoQuFhBDB8cfxA") { $r = getService()->channels->listChannels('snippet,statistics', [ 'id' => $channel_id, ]); // var_dump($r); die(); printf("%s\n%s\n", $r['items'][0]['snippet']['title'], $r['items'][0]['statistics']['viewCount']); } /** * get Video Info and Stats * @param string $video_id */ function getVideoInfo( $video_id = "nIGeJDX8kzg" ) { $r = getService()->videos->listVideos('snippet,statistics', [ 'id' => $video_id, ]); // var_dump($r); die(); printf("%s\n%s\n", $r['items'][0]['snippet']['title'], $r['items'][0]['statistics']['viewCount']); } /* ************************** Main Routine ********************* */ //getChannelInfo(); getVideoInfo(); |