Cách triển khai: Phụ đề

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:

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ành true, 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ành true 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ên caption thành true, 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