取得vine影片的og:image方式


Youtube影片在分享時,是很有規則的縮圖
http://img.youtube.com/vi/VIDEO_ID/#.jpg
0.jpg (預設)480×360
1.jpg 第一張縮圖
2.jpg 第二張縮圖
3.jpg 第三張縮圖
以及依品質的縮圖
default.jpg
hqdefault.jpg
mqdefault.jpg
sddefault.jpg
maxresdefault.jpg
不過vine沒有這樣的規則,所以只好自己抓取影片頁面裡的og:image了!
建立一個 get_vine_thumbnail.php

function get_vine_thumbnail($id){
	$vine = file_get_contents("https://vine.co/v/{$id}");
	preg_match('/property="og:image" content="(.*?)"/', $vine, $matches); 
	return ($matches[1]) ? $matches[1] : false;
}
$id1 = $_GET['id'];
header('Content-type: image/jpeg');  
$image = imagecreatefromjpeg(get_vine_thumbnail($id1));  
imagejpeg($image); 

使用時就是 get_vine_thumbnail.php?id=xxxx就可以了!

相關連結:
https://developers.google.com/youtube/v3/

http://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api

https://developers.google.com/youtube/2.0/developers_guide_php?csw=1