Những ví dụ sau đây minh họa cách sử dụng API Dữ liệu YouTube (v3) để thực hiện các chức năng liên quan đến phụ đề.
Truy xuất danh sách phụ đề cho video
Để truy xuất danh sách phụ đề có sẵn cho một video cụ thể, hãy gọi phương thức captions.list
. Đặt giá trị thông số videoId
thành mã video YouTube để nhận dạng duy nhất video mà bạn đang truy xuất phụ đề. Yêu cầu của bạn phải được ủy quyền bằng OAuth 2.0.
Yêu cầu bên dưới truy xuất danh sách phụ đề cho một video trên kênh YouTube của Google Câu chuyện:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list? part=snippet &videoId=PRU2ShMzQRg
Xem tài liệu của phương thức captions.list
cho các mã mẫu.
Tạo phụ đề
Không thể kiểm tra truy vấn này bằng APIs Explorer vì API Explorer không hỗ trợ khả năng tải tệp lên, đây là yêu cầu đối với phương thức này.
Bạn có thể dùng phương thức captions.insert
của API này để tải một bản phụ đề mới lên cho video. Khi tải một bản nhạc lên, bạn phải chỉ định một giá trị cho caption
các thuộc tính tài nguyên sau:
snippet.videoId
– Xác định video mà bản phụ đề được thêm vào.snippet.language
– Ngôn ngữ của bản phụ đề.snippet.name
– Tên của bản phụ đề.
Bạn có các tùy chọn bổ sung sau đây khi tải phụ đề lên:
-
Nếu bạn đặt thông số
sync
thànhtrue
, YouTube sẽ bỏ qua mọi mã thời gian có trong tệp phụ đề đã tải lên và tạo mã thời gian mới cho phụ đề.Bạn nên đặt thông số
sync
thànhtrue
nếu đang tải bản chép lời lên (không có mã thời gian) hoặc nếu bạn nghi ngờ mã thời gian trong tệp không chính xác và muốn YouTube tìm cách khắc phục. -
Nếu bạn đặt thuộc tính
snippet.isDraft
của tài nguyêncaption
thànhtrue
, bản nhạc sẽ không hiển thị công khai.
Xem tài liệu của phương thức captions.insert
cho các mã mẫu.
Tải bản phụ đề xuống
Không thể kiểm tra truy vấn này bằng APIs Explorer vì API Explorer không hỗ trợ khả năng tải tệp xuống.
Để tải một bản phụ đề cụ thể xuống, hãy gọi phương thức captions.download
. Đặt giá trị thông số id
thành mã phụ đề gốc trên YouTube giúp nhận dạng chính xác bản phụ đề mà bạn đang tải xuống. Yêu cầu của bạn phải được ủy quyền bằng OAuth 2.0.
API v3 hỗ trợ các tùy chọn sau:
-
Để chỉ định rằng một bản phụ đề sẽ được trả về ở định dạng cụ thể, hãy đặt giá trị thông số
tfmt
để xác định định dạng mong muốn. Định nghĩa tham số liệt kê các giá trị được hỗ trợ. -
Để truy xuất bản dịch của phụ đề gốc, hãy đặt giá trị tham số
tlang
thành mã ngôn ngữ gồm hai chữ cái theo ISO 639-1 xác định ngôn ngữ phụ đề mong muốn. Bản dịch được tạo bằng cách sử dụng bản dịch máy, chẳng hạn như Google Dịch.
Xem tài liệu của phương thức captions.download
cho các mã mẫu.
Cập nhật phụ đề
API hỗ trợ khả năng thay đổi trạng thái bản nháp của phụ đề, tải lên phụ đề mới cho một tệp hoặc cả hai.
Bạn có thể sử dụng APIs Explorer để kiểm tra khả năng thay đổi trạng thái bản nháp của một bản nhạc. Tuy nhiên, bạn không thể sử dụng APIs Explorer để cập nhật phụ đề thực tế vì công cụ này không hỗ trợ khả năng tải tệp lên.
Yêu cầu bên dưới truy xuất danh sách phụ đề cho một video trên kênh YouTube của Google Câu chuyện:
Yêu cầu cập nhật trạng thái bản nháp của một bản phụ đề thành true
, tức là bản nhạc đó sẽ không xuất hiện công khai. Để hoàn tất yêu cầu trong APIs Explorer, bạn cần đặt giá trị của thuộc tính id
để xác định phụ đề.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.update? part=snippet
Xem tài liệu của phương thức captions.update
cho các mã mẫu.
Xoá phụ đề
Ví dụ này cho biết cách xóa phụ đề. Ví dụ này có các bước sau:
-
Bước 1: Truy xuất mã phụ đề
Hãy làm theo các bước ở trên để truy xuất danh sách phụ đề cho video. Danh sách này có thể dùng để hiển thị danh sách các bản phụ đề, sử dụng mã nhận dạng của từng bản phụ đề làm khóa.
-
Bước 2: Xoá bản nhạc
Gọi phương thức
captions.delete
để xóa một video cụ thể. Trong yêu cầu, tham sốid
sẽ chỉ định mã phụ đề của bản nhạc mà bạn đang xoá. Yêu cầu này phải được cấp phép bằng OAuth 2.0. Nếu đang kiểm tra truy vấn này trong APIs Explorer, thì bạn sẽ cần phải thay thế một mã theo dõi phụ đề hợp lệ cho giá trị tham sốid
.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.delete? id=CAPTION_TRACK_ID