2013-08-16 54 views
8

Vì vậy, tôi đang cố gắng tải hình ảnh hồ sơ kênh cho kênh YouTube bằng cách sử dụng channelId.Tải hình ảnh hồ sơ kênh YouTube bằng channelId

Tôi muốn làm điều đó đơn giản bằng cách thêm channelId vào URL và tải hình ảnh theo cách đó. Facebook có một cái gì đó tương tự như nơi bạn sử dụng URL này:

http://graph.facebook.com/user_id/picture?type=square 

Google+ có nó quá, thấy this câu hỏi ở đây. Đáng buồn là nó không hoạt động cho YouTube (tôi không thể làm việc cho YouTube)

Hy vọng ai đó có một giải pháp!

Xin cảm ơn trước :)

+2

Tôi muốn biết điều này, với các API mới. – markzzz

Trả lời

5

Bạn có thể sử dụng yêu cầu channels->list cho điều đó.

Đáp lại bạn sẽ nhận được snippet.thumbnails."default".url cho rằng

Đối với kênh đã xác thực của người dùng:

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true&fields=items%2Fsnippet%2Fthumbnails&key={YOUR_API_KEY} 

Hoặc đối với bất kỳ ID kênh:

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&id+CHANNEL_ID&fields=items%2Fsnippet%2Fthumbnails&key={YOUR_API_KEY} 
+2

Điều đó sẽ hiệu quả nhưng hiện tôi đang nhận được nguồn cấp dữ liệu cho người dùng gia đình. Tôi chỉ muốn hiển thị hình ảnh kênh của kênh đã đăng cập nhật. Gửi một yêu cầu riêng biệt cho mỗi câu trả lời là rất nhiều công việc, và phải có một cách dễ dàng hơn ..? – Aleksander

1

một chút muộn, nhưng có lẽ thú vị cho những người khác:

chỉ cần tạo danh sách được phân cách bằng dấu phẩy cho channelIds khác nhau và sau đó gọi

https://www.googleapis.com/youtube/v3/channels?part=snippet&id='+commaSeperatedList+'&fields=items(id%2Csnippet%2Fthumbnails) 

do đó bạn không cần phải gửi một yêu cầu đối với từng mặt

3

Trong PHP, tôi đã nhận nó với:

$url = "https://www.googleapis.com/youtube/v3/channels?part=snippet&fields=items%2Fsnippet%2Fthumbnails%2Fdefault&id={$channelId}&key={$API}"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$channelOBJ = json_decode(curl_exec($ch)); 

$thumbnail_url = $channelOBJ->items[0]->snippet->thumbnails->default->url;