Інтеграція YouTube Data API з веб-сайтом
YouTube Data API v3 дозволяє відображати відео канала на вашому сайті, отримувати статистику та вбудовувати плеєри. Використовується для корпоративних веб-сайтів, блогів, освітніх платформ.
Отримання відео канала
$apiKey = config('services.youtube.api_key');
$channelId = 'UCxxxxxx';
// Отримуємо ID плейлиста завантажень каналу
$channelResp = Http::get('https://www.googleapis.com/youtube/v3/channels', [
'part' => 'contentDetails',
'id' => $channelId,
'key' => $apiKey,
])->json();
$uploadsPlaylistId = $channelResp['items'][0]['contentDetails']['relatedPlaylists']['uploads'];
// Отримуємо список відео
$videosResp = Http::get('https://www.googleapis.com/youtube/v3/playlistItems', [
'part' => 'snippet,contentDetails',
'playlistId' => $uploadsPlaylistId,
'maxResults' => 12,
'key' => $apiKey,
])->json();
$videos = array_map(fn($item) => [
'id' => $item['contentDetails']['videoId'],
'title' => $item['snippet']['title'],
'description' => $item['snippet']['description'],
'thumbnail' => $item['snippet']['thumbnails']['high']['url'],
'published' => $item['snippet']['publishedAt'],
'embed_url' => "https://www.youtube.com/embed/{$item['contentDetails']['videoId']}",
], $videosResp['items']);
Кешування
Квота API: 10 000 одиниць на день. Отримання списку відео коштує 1 одиницю за запит. Кешуємо на одну годину:
$videos = Cache::remember('youtube_videos', 3600, function () use (...) {
// ... запит до API
});
Вбудовування через Facade API
<iframe
src="https://www.youtube-nocookie.com/embed/VIDEO_ID?rel=0&modestbranding=1"
frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
loading="lazy">
</iframe>
youtube-nocookie.com не встановлює куки до початку відтворення — важливо для відповідності GDPR.
Час реалізації: 1 робочий день.







