2011-06-23 57 views
5

Khi chúng tôi xem trang YouTube và nhấp vào Nhạc, chúng tôi có thể xem chúng trên các thể loại khác nhau như "Rap", "Rock", "Quốc gia", v.v.Tải các thể loại nhạc trong YouTube

Làm cách nào để Tôi lấy dữ liệu này (danh sách video thể loại khôn ngoan) bằng cách sử dụng Apis của YouTube.?

+0

Đã giải quyết vấn đề này ??? , tôi quan tâm đến cùng một chủ đề – rainman

Trả lời

2

Một cách để làm điều này là sử dụng tích hợp API chủ đề với V3 của API. Hãy xem videos.list() API call. Cắm các giá trị:

  • phần: topicDetails
  • id: fWNaR-rxAic
  • lĩnh vực: mục/topicDetails/topicIds

ID của video tương ứng với Carly Rae Jepsen's "Call Me Maybe". Khi bạn nhìn vào phản ứng JSON, bạn sẽ thấy một danh sách các ID chủ đề:

[ "/ m/015f7", "/ m/0h55y27", "/ m/0gkxzs6", "/ m/064t9 "]

Đây là ID máy Freebase. Sau đó, bạn sẽ thực hiện cuộc gọi API Freebase để truy xuất thông tin về chủ đề cụ thể đó. Ví dụ: /m/064t9 corresponds to "Pop Music".

Phương pháp này sẽ không hoạt động cho 100% video trên YouTube; Metallica's "Whiskey in a Jar" chỉ trả lại chủ đề cho bài hát và ban nhạc, tuy nhiên, Britney Spear's "I Want to Go" trả về chính xác ID máy cho "Nhạc Pop".

Lý do cho điều này là Chủ đề thường được tạo ra bằng máy chứ không phải do con người quản lý (mặc dù chúng tôi kiểm tra chất lượng). Chúng tôi đã làm một Google I/O talk about how this works. Tin vui là khi bạn CÓ ID máy, bạn có thể dễ dàng tìm thấy các video khác theo ID chủ đề. samples demonstrate how to do this của chúng tôi.

+0

Bạn có biết tôi có thể tìm các ID chủ đề khác cho thể loại âm nhạc và thể loại tài liệu khác không ??? – rainman

1

Trong cơ sở miễn phí, bạn có thể yêu cầu giới hạn thể loại nhạc. Ví dụ: http://www.freebase.com/search?query=rock bạn nhận được/m/06by7 = đá. Với id này bạn làm một truy vấn trên youtube và nhận được video về thể loại này;

Thử https://developers.google.com/youtube/v3/docs/search/list#try-it với điều kiện này:

part: snippet 
topicId: /m/06by7 
+0

freebase hiện không còn được dùng nữa .... –

+0

@david_adler và những gì có thể được sử dụng cho mục đích này? – rainman

0

Đối với bất cứ ai tự hỏi về vấn đề này bây giờ (2017) Freebase bị phản đối và vì vậy thay vào đó bạn nên sử dụng danh sách hiện cung cấp ở đây: https://gist.github.com/stpe/2951130dfc8f1d0d1a2ad736bef3b703

Ikai Lan là vẫn chính xác rằng phần đó là topicDetails để lấy thông tin này từ API.

Các vấn đề liên quan