Các ví dụ sau đây cho biết cách sử dụng YouTube Data API (v3) để thực hiện các chức năng liên quan đến video.
Lấy video đã tải lên của một kênh
Ví dụ này truy xuất các video được tải lên một kênh cụ thể. Ví dụ này có 2 bước:
-
Bước 1: Truy xuất mã nhận dạng danh sách phát cho video được tải lên của kênh
Gọi phương thức
channels.list
để truy xuất mã nhận dạng của danh sách phát chứa các video mà kênh đã tải lên. Giá trị tham sốpart
của yêu cầu phải bao gồmcontentDetails
là một trong các phần tài nguyênchannel
đang được truy xuất. Trong phản hồi của API, thuộc tínhcontentDetails.relatedPlaylists.uploads
chứa mã nhận dạng danh sách phát.Có một số cách để xác định kênh:
-
Đặt giá trị tham số
mine
thànhtrue
để truy xuất thông tin về kênh YouTube của người dùng hiện đang được xác thực. Bạn phải uỷ quyền cho yêu cầu bằng OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Đặt tham số
forUsername
thành tên người dùng trên YouTube để truy xuất thông tin cho kênh được liên kết với tên người dùng đó. Ví dụ này đặt giá trị tham sốforUsername
thànhGoogle
để truy xuất thông tin cho kênh YouTube chính thức của Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Đặt tham số
id
thành mã nhận dạng kênh YouTube. Đây là mã nhận dạng duy nhất của kênh mà bạn đang truy xuất thông tin. Ví dụ này đặt tham sốid
thànhUCK8sQmJBp8GCxrOtXWBpyEA
, cũng là giá trị nhận dạng kênh YouTube chính thức của Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Bước 2: Truy xuất danh sách video đã tải lên
Gọi phương thức
playlistItems.list
để truy xuất danh sách video đã tải lên. Đặt giá trị của tham sốplaylistId
thành giá trị thu được ở bước 1. Trong ví dụ này, giá trị tham số được đặt thànhUUK8sQmJBp8GCxrOtXWBpyEA
, là danh sách video được tải lên kênh YouTube chính thức của Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Lấy các video phổ biến nhất
Ví dụ này cho thấy cách truy xuất danh sách những video phổ biến nhất trên YouTube. Danh sách này được chọn bằng một thuật toán kết hợp nhiều tín hiệu khác nhau để xác định mức độ phổ biến tổng thể.
Để truy xuất danh sách video phổ biến nhất, hãy gọi phương thức videos.list
và đặt giá trị của tham số chart
thành mostPopular
.
Bảng xếp hạng mostPopular
bao gồm những video nhạc, phim và trò chơi thịnh hành.
Sau đó, bạn có thể đặt các tham số sau (không bắt buộc):
regionCode
: Hướng dẫn API trả về danh sách video cho khu vực được chỉ định. Giá trị tham số là mã quốc gia gồm 2 chữ cái theo ISO 3166-1. Bạn có thể sử dụng phương thứci18nRegions.list
để truy xuất danh sách mã khu vực mà YouTube hỗ trợ.videoCategoryId
: Xác định danh mục video mà bạn muốn truy xuất những video phổ biến nhất. Bạn có thể sử dụng phương thứcvideoCategories.list
để truy xuất danh sách mã danh mục mà YouTube hỗ trợ.
Ví dụ: yêu cầu sau đây truy xuất các video thể thao phổ biến nhất ở Tây Ban Nha:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Tải video lên
Vì APIs Explorer không hỗ trợ khả năng tải tệp lên, nên nội dung mô tả này không liên kết đến một ví dụ có thể thực thi. Các tài nguyên sau đây sẽ giúp bạn sửa đổi ứng dụng để có thể tải video lên bằng API phiên bản 3:
-
Tài liệu về phương thức videos.insert của API này có chứa một số mã mẫu giải thích cách tải video lên bằng nhiều ngôn ngữ lập trình.
-
Hướng dẫn về Tải lên tiếp nối giải thích chuỗi yêu cầu HTTP mà một ứng dụng sử dụng để tải video lên bằng quy trình tải lên tiếp nối. Hướng dẫn này chủ yếu dành cho những nhà phát triển không thể sử dụng thư viện ứng dụng API của Google. Một số thư viện trong số này cung cấp chế độ hỗ trợ gốc cho tính năng tải lên tiếp tục.
-
Ví dụ về JavaScript để tải video lên sử dụng CORS (chia sẻ tài nguyên trên nhiều nguồn gốc) để minh hoạ cách tải tệp video lên thông qua một trang web. Thư viện tải lên CORS mà API phiên bản 3 sử dụng vốn hỗ trợ tính năng tải lên tiếp tục. Ngoài ra, ví dụ này minh hoạ cách kiểm tra trạng thái của một video đã tải lên bằng cách truy xuất phần
processingDetails
của tài nguyênvideo
cũng như cách xử lý các thay đổi về trạng thái của video đã tải lên.
Kiểm tra trạng thái của video đã tải lên
Ví dụ này cho thấy cách kiểm tra trạng thái của một video đã tải lên. Video đã tải lên sẽ xuất hiện ngay lập tức trong nguồn cấp dữ liệu video đã tải lên của người dùng được xác thực. Tuy nhiên, video sẽ không xuất hiện trên YouTube cho đến khi được xử lý.
-
Bước 1: Tải video lên
Gọi phương thức
videos.insert
để tải video lên. Nếu yêu cầu thành công, phản hồi của API sẽ chứa một tài nguyênvideo
xác định mã nhận dạng video duy nhất cho video đã tải lên. -
Bước 2: Kiểm tra trạng thái của video
Gọi phương thức
videos.list
để kiểm tra trạng thái của video. Đặt giá trị của tham sốid
thành mã video thu được ở bước 1. Đặt giá trị của tham sốpart
thànhprocessingDetails
.Nếu yêu cầu được xử lý thành công, phản hồi API sẽ chứa một tài nguyên
video
. Kiểm tra giá trị của thuộc tínhprocessingDetails.processingStatus
để xác định xem YouTube có còn đang xử lý video hay không. Giá trị của thuộc tính sẽ thay đổi thành một giá trị khác ngoàiprocessing
, chẳng hạn nhưsucceeded
hoặcfailed
, khi YouTube xử lý xong video.Phần nội dung yêu cầu là một tài nguyên
video
, trong đó thuộc tínhid
chỉ định mã video của video mà bạn đang xoá. Trong ví dụ này, tài nguyên cũng chứa một đối tượngrecordingDetails
.Yêu cầu dưới đây kiểm tra trạng thái của một video. Để hoàn tất yêu cầu trong Trình khám phá API, bạn cần đặt giá trị cho thuộc tính
id
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
Lưu ý: Ứng dụng của bạn có thể thăm dò ý kiến API để định kỳ kiểm tra trạng thái của một video mới tải lên. Sau khi video được xử lý, ứng dụng của bạn có thể tạo một bản tin hoặc tiếp tục thực hiện một hành động khác tuỳ thuộc vào trạng thái của video.
Cập nhật video
Ví dụ này cho thấy cách cập nhật một video để thêm thông tin về thời gian và địa điểm quay video. Ví dụ này có các bước sau:
-
Bước 1: Truy xuất mã video
Làm theo các bước ở trên để truy xuất video đã tải lên cho kênh của người dùng hiện được xác thực. Bạn có thể dùng danh sách này để hiển thị danh sách video, sử dụng mã nhận dạng của mỗi video làm khoá.
Lưu ý: Có nhiều cách khác để lấy mã video, chẳng hạn như truy xuất kết quả tìm kiếm hoặc liệt kê các mục trong danh sách phát. Tuy nhiên, vì chỉ có chủ sở hữu mới có thể cập nhật video, nên việc truy xuất danh sách video thuộc sở hữu của người dùng uỷ quyền yêu cầu API là bước đầu tiên có thể có trong quy trình này.
-
Bước 2: Cập nhật video
Gọi phương thức
videos.update
để cập nhật một video cụ thể. Đặt giá trị của tham sốpart
thànhrecordingDetails
. (Giá trị tham số phụ thuộc vào trường siêu dữ liệu của video đang được cập nhật.)Phần nội dung yêu cầu là một tài nguyên
video
, trong đó thuộc tínhid
chỉ định mã video của video mà bạn đang cập nhật. Trong ví dụ này, tài nguyên cũng chứa một đối tượngrecordingDetails
.Tài nguyên mẫu bên dưới cho biết video được quay vào ngày 30 tháng 10 năm 2013 tại Boston:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
Để hoàn tất yêu cầu trong Trình khám phá API, bạn cần đặt giá trị cho thuộc tính
id
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Tải một hình thu nhỏ tuỳ chỉnh lên và đặt cho video
Bạn có thể dùng phương thức thumbnails.set
của API phiên bản 3 để tải một hình thu nhỏ tuỳ chỉnh lên và đặt hình thu nhỏ đó cho một video. Trong yêu cầu của bạn, giá trị của tham số videoId
xác định video mà hình thu nhỏ sẽ được dùng.
Bạn không thể kiểm thử truy vấn này bằng Trình khám phá API vì Trình khám phá API không hỗ trợ khả năng tải tệp đa phương tiện lên. Đây là một yêu cầu đối với phương thức này.
Xóa video
Ví dụ này minh hoạ cách xoá một video. Ví dụ này có các bước sau:
-
Bước 1: Truy xuất mã video
Làm theo các bước ở trên để truy xuất video đã tải lên cho kênh của người dùng hiện được xác thực. Bạn có thể dùng danh sách này để hiển thị danh sách video, sử dụng mã nhận dạng của mỗi video làm khoá.
Lưu ý: Có nhiều cách khác để lấy mã video, chẳng hạn như truy xuất kết quả tìm kiếm hoặc liệt kê các mục trong danh sách phát. Tuy nhiên, vì chỉ có chủ sở hữu mới có thể xoá video, nên việc truy xuất danh sách video thuộc sở hữu của người dùng uỷ quyền yêu cầu API có thể là bước đầu tiên trong quy trình này.
-
Bước 2: Xoá video
Gọi phương thức
videos.delete
để xoá một video cụ thể. Trong yêu cầu, tham sốid
chỉ định mã video của video mà bạn đang xoá. Bạn phải uỷ quyền cho yêu cầu bằng OAuth 2.0. Nếu đang kiểm thử truy vấn này trong APIs Explorer, bạn cần thay thế giá trị tham sốid
bằng một mã video hợp lệ.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
Báo cáo video có hành vi sai trái
Ví dụ này minh hoạ cách báo cáo một video chứa nội dung vi phạm. Ví dụ này có các bước sau:
-
Bước 1: Truy xuất các mã nhận dạng giải thích lý do video bị báo cáo
Gửi một yêu cầu được uỷ quyền đến phương thức
videoAbuseReportReasons.list
để truy xuất danh sách các lý do hợp lệ để gắn cờ video. Tài nguyênvideoAbuseReportReason
mẫu bên dưới chứa thông tin về cách gắn cờ một video có nội dung rác hoặc nội dung gây hiểu lầm.{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }
Như trong tài nguyên, lý do này được liên kết với danh sách các lý do phụ. Khi gắn cờ một video vì chứa nội dung rác, bạn cần cung cấp mã nhận dạng cho lý do và nên cung cấp thêm một lý do phụ.
-
Bước 2: Gắn cờ video có nội dung phản cảm
Gửi một yêu cầu được uỷ quyền đến phương thức
Thuộc tínhvideos.reportAbuse
để thực sự báo cáo video. Nội dung yêu cầu là một đối tượng JSON xác định cả video bị gắn cờ và lý do video bị gắn cờ. Như đã lưu ý ở bước 1, đối với một số loại lý do, bạn nên cung cấp lý do phụ.videoId
của đối tượng JSON xác định video đang bị gắn cờ.Đối tượng JSON mẫu bên dưới gắn cờ một video vì chứa nội dung rác hoặc nội dung gây hiểu lầm, cụ thể hơn là vì sử dụng hình thu nhỏ gây hiểu lầm. Như trong đối tượng JSON mẫu ở trên, mã nhận dạng cho nội dung Rác hoặc gây hiểu lầm là S. Mã nhận dạng của Hình thu nhỏ gây hiểu lầm là 28.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }
Bạn phải uỷ quyền cho yêu cầu
videos.reportAbuse
bằng OAuth 2.0. Đường liên kết bên dưới sẽ tải đối tượng JSON ở trên trong Trình khám phá API. Để kiểm thử truy vấn, bạn cần thay thế giá trị thuộc tínhvideoId
bằng một mã video hợp lệ. Xin lưu ý rằng việc gửi yêu cầu này sẽ thực sự gắn cờ video.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse