小能豆

How do I get a YouTube video thumbnail from the YouTube API?

javascript

If I have a YouTube video URL, is there any way to use PHP and cURL to get the associated thumbnail from the YouTube API?


阅读 239

收藏
2023-12-28

共1个答案

小能豆

Yes, you can use PHP and cURL to retrieve the associated thumbnail for a YouTube video from the YouTube API. Here’s a simple example using the YouTube Data API:

<?php

// YouTube video URL
$videoUrl = "https://www.youtube.com/watch?v=VIDEO_ID";

// Extract video ID from the URL
$videoId = getVideoIdFromUrl($videoUrl);

// Get the thumbnail using the YouTube API
$thumbnailUrl = getYouTubeThumbnail($videoId);

// Display the thumbnail URL
echo "Thumbnail URL: " . $thumbnailUrl;

// Function to extract video ID from YouTube URL
function getVideoIdFromUrl($url)
{
    parse_str(parse_url($url, PHP_URL_QUERY), $params);
    return isset($params['v']) ? $params['v'] : null;
}

// Function to get YouTube thumbnail URL using the API
function getYouTubeThumbnail($videoId)
{
    $apiKey = "YOUR_YOUTUBE_API_KEY"; // Replace with your actual API key
    $apiUrl = "https://www.googleapis.com/youtube/v3/videos?id=$videoId&key=$apiKey&part=snippet";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);

    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }

    curl_close($ch);

    $data = json_decode($response, true);

    // Check if the API response contains valid data
    if (isset($data['items'][0]['snippet']['thumbnails']['medium']['url'])) {
        return $data['items'][0]['snippet']['thumbnails']['medium']['url'];
    } else {
        return null;
    }
}

?>

Make sure to replace “YOUR_YOUTUBE_API_KEY” with your actual YouTube Data API key. You can obtain an API key by creating a project in the Google Cloud Console, enabling the YouTube Data API v3, and generating an API key.

Note: Using the YouTube Data API for this purpose may require compliance with YouTube’s Terms of Service and API Services Developer Policies.

2023-12-28