如何使用php和API从url获取youtube视频的缩略图

如何使用php和API从url获取youtube视频的缩略图

问题描述:

Below code, I got title and description but I want image as well as how to get the main image of video from JSON data.

$videoid = 'cMC_PtgKDJE';
$apikey = 'xyzxyzxyz';  //My API key

$json = file_get_contents('https://www.googleapis.com/youtube/v3/videos?id='.$videoid.'&key='.$apikey.'&part=snippet');
$ytdata = json_decode($json);
print_r($ytdata);
echo '<h1>Title: ' . $ytdata->items[0]->snippet->title . '</h1>';
echo 'Description: ' . $ytdata->items[0]->snippet->description;

下面的代码,我得到了标题和描述,但我想要图像以及 如何获得主要图像 来自JSON数据的视频。 p>

  $ videoid ='cMC_PtgKDJE'; 
 $ apikey ='xyzxyzxyz';  //我的API密钥
 
 $ json = file_get_contents('https://www.googleapis.com/youtube/v3/videos?id='.$videoid.'&key='.$apikey.'&amp  ; part = snippet'); 
 $ ytdata = json_decode($ json); 
print_r($ ytdata); 
echo'&lt; h1&gt; Title:'。  $ ytdata-&gt; items [0]  - &gt; snippet-&gt; title。  '&lt; / h1&gt;'; 
echo'描述:'。  $ ytdata-&gt; items [0]  - &gt; snippet-&gt; description; 
  code>  pre> 
  div>

Each YouTube video has 4 generated images.You can create the url as fallows

https://img.youtube.com/vi/<video-id-here>/0.jpg

DEMO

If you want high quality image then you can read following atricle

how to get a youtube video’s thumbnail image in high quality

How to get video id from youtube url

$url = "http://www.youtube.com/watch?v=7zWKm-LZWm4&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ), $url_vars );
echo $url_vars['v'];    
  // Output: 7zWKm-LZWm4
?> 

Each video on YouTube provides several thumbnails of different quality

Default (for small thumbnails): $ytdata->items[0]->snippet->thumbnails->default->url;

Medium: $ytdata->items[0]->snippet->thumbnails->medium->url;

High: $ytdata->items[0]->snippet->thumbnails->high->url;

Standard: $ytdata->items[0]->snippet->thumbnails->standard->url;

Maximum resolution: $ytdata->items[0]->snippet->thumbnails->maxres->url;