Trang này liệt kê các thay đổi và nội dung cập nhật về tài liệu của YouTube Live Streaming API. Đăng ký nhận nhật ký thay đổi này.
Ngày 14 tháng 7 năm 2025
Nội dung mô tả về phương thức liveChatMessages.streamList
đã được cập nhật để hướng dẫn về cách sử dụng API streamList.
Ngày 9 tháng 10 năm 2023
Bạn có thể tham khảo tệp CSV này để biết mã Super Stickers nào tương ứng với mã Sticker nào.
Định nghĩa về thuộc tính snippet.superStickerDetails.superStickerMetadata.stickerId
của tài nguyên liveChatMessage
và thuộc tính snippet.superStickerMetadata.stickerId
của tài nguyên superChatEvent
đều đã được cập nhật để phản ánh thông tin này.
Ngày 15 tháng 9 năm 2023
API này hiện hỗ trợ một cách thức mới để chèn quảng cáo vào chương trình phát sóng trực tiếp. Ngoài liveCuepoints
, cho phép bạn chèn điểm chèn quảng cáo vào một sự kiện phát sóng theo cách thủ công, YouTube hiện hỗ trợ tính năng tự động chèn điểm chèn quảng cáo trong video vào một sự kiện phát sóng theo các khoảng thời gian cố định.
Nếu bật quảng cáo tự động, chủ sở hữu chương trình phát sóng có thể xem các khía cạnh sau đây về hành vi của quảng cáo:
- độ dài của khoảng thời gian giữa các điểm chèn quảng cáo trong video.
- chiến lược lập lịch cho điểm đánh dấu quảng cáo. Bạn có thể chèn điểm đánh dấu đồng thời cho tất cả người xem hoặc thời gian của điểm đánh dấu có thể khác nhau tuỳ theo người xem. Chiến lược sau cho phép YouTube lập lịch các điểm đánh dấu với tốc độ cao hơn để người xem có thể nhận được điểm đánh dấu khi họ đủ điều kiện.
- khoảng thời gian mà quảng cáo trong video không xuất hiện; đối với tính năng này, chủ sở hữu chương trình phát sóng chỉ định rằng việc chèn quảng cáo trong video sẽ tạm dừng cho đến một thời điểm cụ thể.
Tài liệu phản ánh những thay đổi sau đây về API để hỗ trợ tính năng này:
- Tài nguyên
liveBroadcast
hiện chứa một đối tượngmonetizationDetails
. Các trường của đối tượng này cho biết liệu tính năng chèn quảng cáo tự động có được bật cho chương trình phát sóng hay không và chỉ định thông tin bổ sung để lập lịch các điểm báo. - Tham số
part
của phương thứcliveBroadcast.list
hỗ trợ giá trịmonetizationDetails
. - Bạn có thể dùng phương thức
update
để tạm dừng việc chèn quảng cáo trong video trong một khoảng thời gian nhất định cho một chương trình phát sóng trực tiếp. Tài liệu này hiện cũng xác định một số lỗi có thể xảy ra khi cập nhật thông tin chi tiết về việc kiếm tiền cho một sự kiện phát sóng trực tiếp.
Ngày 1 tháng 8 năm 2023
Bản cập nhật này có những thay đổi sau:
-
Phương thức
liveBroadcasts.update
không còn yêu cầu bạn chỉ định giá trị cho các trường sau:snippet.title
status.privacyStatus
Nếu bạn bỏ qua các trường này trong yêu cầu, thì các trường này sẽ không thay đổi.
Ngày 1 tháng 11 năm 2022
-
Phương thức
liveBroadcasts.cuepoint
mới cho phép mọi chủ sở hữu kênh đang phát sóng trực tiếp trên YouTube chèn điểm đánh dấu vào chương trình phát sóng đó. Điểm đánh dấu có thể kích hoạt điểm chèn quảng cáo. Phương thức này thay thế phương thứcliveCuepoints.insert
. Phương thức này chỉ cho phép các đối tác nội dung của YouTube chèn điểm đánh dấu vào chương trình phát sóng trực tiếp.Chúng tôi đã cập nhật một số hướng dẫn để phản ánh phạm vi cung cấp phương thức mới này.
-
Lưu ý: Đây là thông báo về việc ngừng sử dụng.
Giờ đây, phương thức
liveCuepoints.insert
không được dùng nữa. Chúng tôi sẽ ngừng hỗ trợ phương thứcliveCuepoints.insert
từ ngày 1 tháng 5 năm 2023 trở đi. Người dùng API nên cập nhật ứng dụng của họ để gọi phương thứcliveBroadcasts.cuepoint
. -
Tài liệu về phương thức
liveBroadcasts.control
đã bị xoá. Thông báo ngừng sử dụng phương thức đó đã được đăng vào tháng 9 năm 2020.
Ngày 1 tháng 10 năm 2022
Bản cập nhật này có những thay đổi sau:
-
Phương thức
liveBroadcasts.update
không còn yêu cầu bạn chỉ định giá trị cho các trường sau:contentDetails.enableContentEncryption
contentDetails.enableDvr
contentDetails.enableEmbed
contentDetails.recordFromStart
contentDetails.startWithSlate
Nếu bạn bỏ qua các trường này trong yêu cầu, thì các trường này sẽ không thay đổi.
-
Xoá tài liệu cho các trường
liveBroadcast
lỗi thời:contentDetails.enableContentEncryption
contentDetails.startWithSlate
Ngày 1 tháng 4 năm 2022
Bản cập nhật này có những thay đổi sau:
-
Thuộc tính
snippet.type
hiện hỗ trợ 2 giá trị mới:membershipGiftingEvent
giftMembershipReceivedEvent
-
Thuộc tính
snippet.membershipGiftingDetails
mới của tài nguyênliveChatMessage
và các tài nguyên con của thuộc tính này chứa thông tin về sự kiện tặng quà hội viên. Tương tự, thuộc tínhsnippet.giftMembershipReceivedDetails
mới và các thuộc tính con của thuộc tính này chứa thông tin về sự kiện Nhận quà tặng hội viên.
Ngày 15 tháng 9 năm 2021
Bản cập nhật này có những thay đổi sau:
-
Thuộc tính
snippet.type
hiện hỗ trợ 2 giá trị mới:newSponsorEvent
memberMilestoneChatEvent
-
Thuộc tính
snippet.memberMilestoneChatDetails
mới của tài nguyênliveChatMessage
và các phần tử con của thuộc tính này chứa thông tin về sự kiện Tin nhắn ghi nhận cột mốc làm hội viên. Tương tự, thuộc tínhsnippet.newSponsorDetails
mới và các thuộc tính con của thuộc tính này chứa thông tin về sự kiện Nhà tài trợ mới.
Ngày 1 tháng 12 năm 2020
Phương thức liveBroadcasts.transition
của API hỗ trợ một lỗi 403
mới (Forbidden
), cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định. Lý do xảy ra lỗi là userRequestsExceedRateLimit
.
Ngày 21 tháng 9 năm 2020
-
Định nghĩa về thuộc tính
status.madeForKids
của tài nguyênliveBroadcast
đã được cập nhật để làm rõ rằng thuộc tính này chỉ có thể đọc. Điều này không phản ánh sự thay đổi trong chức năng API.Để chỉ định một chương trình phát sóng trực tiếp là dành cho trẻ em, hãy đặt thuộc tính
status.selfDeclaredMadeForKids
thànhtrue
khi gọi phương thứcliveBroadcasts.insert
để tạo chương trình phát sóng. -
Lưu ý: Thay đổi này bao gồm một thông báo ngừng cung cấp và một thông báo cập nhật cho thông báo ngừng cung cấp trước đó.
Phương thức
liveBroadcasts.control
sẽ không được dùng nữa kể từ ngày 1 tháng 10 năm 2020. Sau ngày đó, tất cả các lệnh gọi đến phương thức này sẽ trả về lỗi bị cấm (403) và phương thức này sẽ bị xoá hoàn toàn sau đó. Khách hàng vẫn có thể triển khai bảng tên của riêng mình bằng cách thêm lớp phủ vào video được gửi đến các máy chủ tiếp nhận của YouTube.Ngày ngừng cung cấp cho thông báo ngừng cung cấp được đưa ra vào ngày 16 tháng 4 năm 2020 (ban đầu dự kiến là ngày 1 tháng 9 năm 2020) đã được lùi lại và sẽ diễn ra vào hoặc sau ngày 1 tháng 10 năm 2020. Do đó, các tính năng có trong thông báo ngừng sử dụng đó và phương thức
liveBroadcasts.control
sẽ ngừng hoạt động cùng một lúc.
Ngày 17 tháng 7 năm 2020
Lưu ý: Đây là thông tin cập nhật cho một thông báo ngừng cung cấp trước đó.
Trường cdn.format
của tài nguyên liveStream
(đã ngừng hoạt động từ tháng 4 năm 2016) sẽ không còn được hỗ trợ kể từ ngày 17 tháng 8 năm 2020. Kể từ ngày đó, những yêu cầu vẫn sử dụng trường đó sẽ không thành công.
Nếu mã của bạn vẫn sử dụng trường cdn.format
, bạn phải cập nhật để chỉ định tốc độ khung hình và độ phân giải riêng biệt bằng cách sử dụng các thuộc tính cdn.frameRate
và cdn.resolution
.
Ngày 6 tháng 7 năm 2020
Hướng dẫn Phân phối nội dung phát trực tiếp trên YouTube thông qua HLS đã được cập nhật một số điểm:
- Thời lượng đề xuất cho một Đoạn nội dung nghe nhìn đã được cập nhật thành từ 1 đến 4 giây.
- Một phần mới giải thích cách lấy URL truyền trực tiếp HLS từ YouTube Creator Studio.
-
Hướng dẫn định dạng giá trị tham số
file
đã được chuyển sang phần Hoàn tất URL truyền dẫn HLS mới. Các hướng dẫn này áp dụng bất kể bạn lấy URL truyền tải HLS từ YouTube API hay YouTube Creator Studio.
Ngoài ra, bảng so sánh giao thức truyền nhận mới liệt kê các giao thức truyền nhận mà YouTube hỗ trợ, các bộ mã hoá và giải mã được hỗ trợ cho từng giao thức, cũng như thông tin bổ sung về các trường hợp sử dụng phù hợp cho từng giao thức.
Ngày 16 tháng 4 năm 2020
Bản cập nhật này bao gồm một thuộc tính mới và thông báo ngừng sử dụng:
-
Tài nguyên
liveBroadcast
hiện hỗ trợ thuộc tínhcontentDetails.enableAutoStop
. Thuộc tính này cho biết liệu một chương trình phát sóng có tự động dừng sau khoảng một phút kể từ khi chủ sở hữu kênh ngừng phát trực tiếp video trên luồng video được liên kết hay không.Tài liệu vòng đời của một chương trình phát sóng đã được cập nhật để giải thích cách quy trình từng bước tạo và quản lý một sự kiện trực tiếp trên YouTube thay đổi nếu bạn đặt các thuộc tính
contentDetails.enableAutoStart
hoặccontentDetails.enableAutoStop
thànhtrue
. -
Lưu ý: Đây là thông báo về việc ngừng sử dụng. Những thay đổi này sẽ có hiệu lực từ ngày 1 tháng 9 năm 2020 trở đi. Ngày mà các thay đổi có hiệu lực thực tế được gọi là ngày ngừng cung cấp.
Bản cập nhật này giải thích một thay đổi có thể gây lỗi. Việc này ảnh hưởng đến các ứng dụng máy khách API sử dụng tài nguyên
liveStream
vàliveBroadcast
mặc định của kênh để phát trực tiếp nội dung trên YouTube. Cụ thể, mã nhận dạng chương trình phát sóng và mã nhận dạng luồng phát trực tiếp được liên kết với chương trình phát sóng và luồng phát trực tiếp cố định sẽ không còn hoạt động để bắt đầu chương trình phát sóng mới.Ứng dụng của bạn sẽ bị ảnh hưởng nếu có bất kỳ trường hợp nào sau đây:
- Thao tác này sẽ kiểm tra giá trị của thuộc tính
liveBroadcast
isDefaultBroadcast
của tài nguyên. Thuộc tính này sẽ không được trả về sau ngày ngừng sử dụng. - Thao tác này sẽ kiểm tra giá trị của thuộc tính
liveStream
isDefaultStream
của tài nguyên. Thuộc tính này sẽ không được trả về sau ngày ngừng sử dụng. - Phương thức này gọi phương thức
liveBroadcasts.list
và đặt giá trị tham sốbroadcastType
thànhpersistent
hoặcall
. Thông số này sẽ không còn được dùng trong quá trình thay đổi này. Kể từ ngày ngưng sử dụng:- Nếu giá trị tham số
broadcastType
làpersistent
, thì phương thứcliveBroadcasts.list
sẽ không trả về bất kỳ kết quả nào. - Nếu giá trị tham số
broadcastType
làall
, thì phương thứcliveBroadcasts.list
sẽ không trả về các thông báo truyền tin liên tục đã tồn tại trước thời điểm đó.
- Nếu giá trị tham số
Trong vài năm qua, YouTube đã tự động tạo một luồng phát mặc định và một chương trình phát sóng mặc định cho kênh khi kênh đó được bật tính năng phát trực tiếp. Luồng mặc định tồn tại vô thời hạn, không có thời gian bắt đầu hoặc kết thúc liên kết và không thể bị xoá. Tương tự, thông báo truyền tin mặc định được coi là duy trì. Tham số này luôn tồn tại và không bị ràng buộc với một sự kiện cụ thể.
Kể từ ngày ngưng sử dụng:
- YouTube sẽ không tạo luồng phát và chương trình phát sóng mặc định nữa. Thay vì dựa vào các tài nguyên mặc định, ứng dụng API cần có khả năng tạo và quản lý các tài nguyên
liveBroadcast
vàliveStream
, đồng thời liên kết các tài nguyên đó với nhau. - Nếu chương trình phát sóng mặc định và luồng phát mặc định của một kênh đang phát trực tiếp (tức là kênh đang sử dụng các chương trình và luồng phát này cho một chương trình phát sóng trực tiếp tại thời điểm việc ngừng cung cấp có hiệu lực), thì chương trình phát sóng đang diễn ra sẽ không bị ảnh hưởng. Tuy nhiên, sau khi chương trình phát sóng đó kết thúc, kênh sẽ không thể sử dụng lại chương trình phát sóng mặc định và luồng phát mặc định.
- Nếu chương trình phát sóng mặc định và luồng phát mặc định của một kênh không hoạt động, thì sau khi quá trình ngừng cung cấp có hiệu lực, YouTube sẽ bỏ qua các nỗ lực sử dụng những tài nguyên đó để phát sóng video.
Nếu ứng dụng của bạn bị ảnh hưởng, vui lòng tham khảo các tài liệu sau. Các tài liệu này sẽ giúp bạn cập nhật ứng dụng để ứng dụng vẫn hoạt động như mong đợi sau thay đổi này:
- Một hướng dẫn di chuyển mới cố gắng giải thích các bước mà nhà phát triển có thể cần giải quyết trong các ứng dụng API hiện đang sử dụng các luồng và thông báo mặc định.
- Hướng dẫn Vòng đời của một chương trình phát sóng sẽ hướng dẫn bạn từng bước về cách tạo và quản lý một sự kiện phát trực tiếp trên YouTube. Mỗi bước giải thích các lệnh gọi API hoặc những việc khác mà bạn cần làm để hoàn tất một hành động cụ thể. Ứng dụng của bạn sẽ cần tuân theo quy trình đó khi YouTube ngừng hỗ trợ các luồng và chương trình phát mặc định.
- Thao tác này sẽ kiểm tra giá trị của thuộc tính
Ngày 31 tháng 3 năm 2020
Lưu ý: Đây là thông báo về việc ngừng sử dụng.
Tài nguyên sponsor
và phương thức sponsors.list
đã bị ngừng sử dụng và được thay thế bằng tài nguyên member
và phương thức members.list
.
Phương thức sponsors.list
sẽ không còn được hỗ trợ kể từ ngày 30 tháng 9 năm 2020.
Các ứng dụng API nên cập nhật các lệnh gọi đến phương thức sponsors.list
để sử dụng phương thức members.list
. Vui lòng xem Nhật ký sửa đổi của YouTube Data API để biết thêm thông tin về tài nguyên mới.
Ngày 11 tháng 3 năm 2020
Phần Điểm cuối tiếp nhận trong hướng dẫn Phân phối nội dung phát trực tiếp trên YouTube qua HLS đã được cập nhật để làm rõ quy trình mà bộ mã hoá nên sử dụng để hoàn tất giá trị tham số file=
khi tạo URL tiếp nhận chính và URL tiếp nhận dự phòng.
Ngày 4 tháng 2 năm 2020
Hướng dẫn Phân phối nội dung phát trực tiếp trên YouTube qua HLS đã được cập nhật để lưu ý rằng các yêu cầu DELETE
là không bắt buộc và điểm cuối HLS của YouTube sẽ bỏ qua các yêu cầu này. Vì lý do hiệu suất, YouTube khuyến nghị các ứng dụng không gửi yêu cầu DELETE
.
Ngày 10 tháng 1 năm 2020
API này hiện hỗ trợ khả năng xác định nội dung hướng đến trẻ em, mà YouTube gọi là "dành cho trẻ em". Tìm hiểu thêm về nội dung "dành cho trẻ em" trong Trung tâm trợ giúp của YouTube.
-
Tài nguyên
liveBroadcast
hỗ trợ 2 thuộc tính mới để giúp nhà sáng tạo nội dung và người xem xác định nội dung "dành cho trẻ em":-
Thuộc tính
selfDeclaredMadeForKids
cho phép nhà sáng tạo nội dung chỉ định xem một chương trình phát sóng trực tiếp có phải là nội dung hướng đến trẻ em hay không. Bạn có thể đặt thuộc tính này khi tạo một chương trình phát sóng thông qua phương thứcliveBroadcasts.insert
. Xin lưu ý rằng thuộc tính này chỉ có trong các phản hồi API chứa tài nguyênliveBroadcast
nếu chủ sở hữu kênh đã uỷ quyền cho yêu cầu API. -
Thuộc tính
madeForKids
cho phép mọi người dùng API truy xuất trạng thái "dành cho trẻ em" của một chương trình phát sóng. Ví dụ: trạng thái có thể được xác định dựa trên giá trị của thuộc tínhselfDeclaredMadeForKids
. Hãy truy cập vào Trung tâm trợ giúp của YouTube để biết thêm thông tin về cách đặt đối tượng người xem cho kênh, video hoặc chương trình phát sóng của bạn.
-
Thuộc tính
-
Trong YouTube Data API, tài nguyên
channel
cũng hỗ trợ các thuộc tínhselfDeclaredMadeForKids
vàmadeForKids
mới.
Chúng tôi cũng đã cập nhật Điều khoản dịch vụ của Dịch vụ API YouTube và Chính sách dành cho nhà phát triển. Vui lòng xem Điều khoản dịch vụ của Dịch vụ API YouTube – Nhật ký sửa đổi để biết thêm thông tin. Những thay đổi đối với Điều khoản dịch vụ của Dịch vụ API YouTube và Chính sách dành cho nhà phát triển sẽ có hiệu lực từ ngày 10 tháng 1 năm 2020 theo giờ Thái Bình Dương.
Ngày 20 tháng 8 năm 2019
Phần Yêu cầu trong hướng dẫn Cung cấp nội dung phát trực tiếp trên YouTube qua HLS đã được cập nhật với 2 thay đổi:
- Nội dung này giải thích rằng bạn nên đưa cả phân đoạn đã được xác nhận và phân đoạn chưa được xác nhận vào mỗi Danh sách phát nội dung nghe nhìn. Cách này giúp giảm khả năng một phân đoạn bị bỏ qua nếu Danh sách phát nội dung nghe nhìn bị mất ở phía máy chủ. Ví dụ: bạn có thể thêm tối đa 2 phân đoạn đã được xác nhận và tối đa 5 phân đoạn chưa được xác nhận vào mỗi Danh sách phát nội dung nghe nhìn.
- Giờ đây, bạn phải gửi một Danh sách phát nội dung nghe nhìn cho mỗi Phân đoạn nội dung nghe nhìn. Điều này cho phép máy chủ khôi phục nhanh chóng nếu Danh sách phát nội dung nghe nhìn bị mất. Trước đây, phương pháp này được liệt kê là một đề xuất.
Ngày 28 tháng 6 năm 2019
YouTube hiện hỗ trợ việc truyền dữ liệu HLS. Theo đó, thuộc tính ingestionType
của tài nguyên liveStream
hỗ trợ giá trị mới hls
để xác định các luồng được nhập vào YouTube bằng HLS.
Hướng dẫn mới về Phân phối nội dung phát trực tiếp trên YouTube thông qua HLS cung cấp các nguyên tắc sử dụng HLS để truyền trực tuyến nội dung phát trực tiếp lên YouTube từ một bộ mã hoá. Hướng dẫn này nhằm giúp các nhà cung cấp bộ mã hoá thêm tính năng hỗ trợ phân phối HLS vào sản phẩm của họ.
Ngày 4 tháng 4 năm 2019
Bản cập nhật này có những thay đổi sau:
-
Tài liệu tham khảo API đã được cập nhật để giải thích rõ hơn các trường hợp sử dụng phổ biến cho từng phương thức và cung cấp các mẫu mã động, chất lượng cao thông qua tiện ích Trình khám phá API. Hãy xem tài liệu về phương thức
liveBroadcasts.list
để biết ví dụ. Hiện có 2 phần tử mới trên các trang mô tả phương thức API:-
Tiện ích Trình khám phá API cho phép bạn chọn phạm vi uỷ quyền, nhập các giá trị tham số và thuộc tính mẫu, sau đó gửi các yêu cầu API thực tế và xem các phản hồi API thực tế. Tiện ích này cũng cung cấp chế độ xem toàn màn hình cho thấy các mẫu mã hoàn chỉnh, tự động cập nhật để sử dụng các phạm vi và giá trị mà bạn đã nhập.
-
Mục Các trường hợp sử dụng phổ biến mô tả một hoặc nhiều trường hợp sử dụng phổ biến cho phương thức được giải thích trên trang. Ví dụ: bạn có thể gọi phương thức
liveBroadcasts.list
để truy xuất dữ liệu về một chương trình phát sóng cụ thể hoặc để truy xuất dữ liệu về các chương trình phát sóng của người dùng hiện tại.Bạn có thể sử dụng các đường liên kết trong phần đó để điền các giá trị mẫu vào Trình khám phá API cho trường hợp sử dụng của mình hoặc mở Trình khám phá API ở chế độ toàn màn hình với các giá trị đã được điền sẵn. Những thay đổi này nhằm giúp bạn dễ dàng xem các mẫu mã có thể áp dụng trực tiếp cho trường hợp sử dụng mà bạn đang cố gắng triển khai trong ứng dụng của riêng mình.
Hiện tại, các mẫu mã được hỗ trợ cho Java, JavaScript, PHP, Python và curl.
-
-
Trang mã mẫu cũng có giao diện người dùng mới với tất cả các tính năng tương tự như mô tả ở trên. Khi sử dụng công cụ đó, bạn có thể khám phá các trường hợp sử dụng cho nhiều phương thức, tải các giá trị vào Trình khám phá API và mở Trình khám phá API ở chế độ toàn màn hình để nhận các mẫu mã bằng Java, JavaScript, PHP và Python.
Cùng với thay đổi này, những trang trước đây liệt kê các mã mẫu có sẵn cho Java, PHP và Python đã bị xoá.
Ngày 25 tháng 2 năm 2019
Tài liệu về các tài nguyên liveChatMessage
và superChatEvent
đã được cập nhật để phản ánh việc cả hai tài nguyên này hiện có thể chứa thông tin về Hình dán đặc biệt. Super Stickers là một loại tin nhắn Super Chat có hình ảnh. Giống như các Super Chat khác, tin nhắn Super Sticker là tin nhắn do người hâm mộ mua trong một sự kiện phát trực tiếp trên YouTube.
- Trong tài nguyên
liveChatMessage
, thuộc tínhsnippet.type
hiện được đặt thànhsuperStickerEvent
để cho biết rằng tài nguyên này chứa thông tin về một Hình dán đặc biệt. Trong trường hợp đó, tài nguyên cũng chứa đối tượngsnippet.superStickerDetails
, trong đó có thông tin bổ sung về Hình dán đặc biệt. - Trong tài nguyên
superChatEvent
, giá trị booleansnippet.isSuperStickerEvent
cho biết liệu thông báo Super Chat có phải là Super Stickers hay không. Nếu có, thì đối tượngsnippet.superStickerMetadata
sẽ chứa thông tin chi tiết bổ sung về Super Sticker.
Ngày 5 tháng 4 năm 2018
Chúng tôi đã cập nhật nội dung mô tả về phương thức superChatEvents.list
để phản ánh việc phản hồi API không còn chứa fanFundingEvents
nữa (đã ngừng hoạt động từ đầu năm 2017).
Ngày 3 tháng 4 năm 2017
Chúng tôi đã thêm các đoạn mã Java mới cho biết cách liệt kê, chèn và xoá tin nhắn trong cuộc trò chuyện trực tiếp. Các mẫu này gọi những phương thức sau:
Ngày 13 tháng 2 năm 2017
Bản cập nhật này có những thay đổi sau:
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
-
Phương thức
liveCuepoints.insert
đã được cập nhật để phản ánh thực tế là tham sốonBehalfOfContentOwner
hiện là tham số bắt buộc. Ngoài ra, phần mô tả của phương thức này đã được cập nhật để lưu ý rằng các lệnh gọi đến phương thức đó phải được một tài khoản liên kết với Chủ sở hữu nội dung trên YouTube uỷ quyền.
-
Ngày 9 tháng 2 năm 2017
Bản cập nhật này có những thay đổi sau:
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
-
Tham số
hl
mới của phương thứcsuperChatEvents.list
cho phép bạn chỉ định rằng giá trị thuộc tínhsnippet.displayString
phải được định dạng theo quy ước của một ngôn ngữ cụ thể. Định nghĩa của thuộc tính đó cũng đã được cập nhật cho phù hợp.Giá trị tham số phải là một mã ngôn ngữ có trong danh sách do phương thức
i18nLanguages.list
trả về. Giá trị mặc định làen
, tức là hành vi mặc định là định dạng các chuỗi hiển thị như khi dùng bằng tiếng Anh. Ví dụ: theo mặc định, một chuỗi được định dạng là$1.00
thay vì$1,00
.
-
Ngày 1 tháng 2 năm 2017
Bản cập nhật này có những thay đổi sau:
-
Tài nguyên và phương thức mới
-
Tài nguyên
superChatEvent
mới đại diện cho một tin nhắn Super Chat do người hâm mộ mua trong một sự kiện phát trực tiếp trên YouTube. Trong cuộc trò chuyện trực tiếp trên YouTube, Super Chat nổi bật hơn các tin nhắn khác theo hai cách:- Super Chat được làm nổi bật bằng một màu sắc.
- Super Chat được ghim vào biểu ngữ trong một khoảng thời gian định sẵn.
Màu sắc của Super Chat, khoảng thời gian Super Chat được ghim vào biểu ngữ và độ dài tối đa của tin nhắn đều được xác định theo số tiền mua. Trung tâm trợ giúp của YouTube có thêm thông tin về tính năng Super Chat.
API này hỗ trợ một phương thức để liệt kê các sự kiện Super Chat của luồng phát trực tiếp của một kênh trong 30 ngày trước đó. Phương thức đó cũng trả về dữ liệu về các sự kiện Ủng hộ của người hâm mộ (
fanFundingEvents
) trong sự kiện phát trực tiếp gần đây nhất của kênh.
-
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
-
Giờ đây, thuộc tính
snippet.type
hỗ trợ giá trịsuperChatEvent
. Giá trị này cho biết tài nguyên mô tả một tin nhắn Super Chat.Ngoài ra, thuộc tính
snippet.superChatDetails
mới của tài nguyênliveChatMessage
và các phần tử con của thuộc tính này chứa thông tin về sự kiện Super Chat. -
Thuộc tính
cdn.resolution
của tài nguyênliveStream
hiện hỗ trợ giá trị2160p
.
-
-
Lỗi mới và lỗi đã cập nhật
-
API này hỗ trợ các lỗi mới sau đây:
Chi tiết về lỗi liveBroadcasts.insert
,liveBroadcasts.update
Các phương thức liveBroadcasts.insert
vàliveBroadcasts.update
trả về lỗi400
(Bad Request
) để cho biết rằng tài nguyênliveBroadcast
đang được chèn hoặc cập nhật có chứa một giá trị không hợp lệ cho thuộc tínhcontentDetails.enableEmbed
hoặc thuộc tínhcontentDetails.projection
. Lý do gây ra lỗi cho 2 lỗi mới này lần lượt làinvalidEmbedSetting
vàinvalidProjection
.
-
Ngày 12 tháng 1 năm 2017
Lưu ý: Đây là thông báo về việc ngừng sử dụng.
Cùng với việc phát hành tính năng Super Chat mới, YouTube đã ngừng cung cấp tính năng Tài trợ của người hâm mộ và API Tài trợ của người hâm mộ sẽ ngừng hoạt động từ ngày 28 tháng 2 năm 2017. Kể từ ngày đó:
- Phương thức
liveChatMessages.list
sẽ không trả về những thông báo cósnippet.type
làfanFundingEvent
nữa. Tương tự, các tài nguyênliveChatMessage
sẽ không còn chứa đối tượngsnippet.fanFundingEventDetails
nữa. - Phương thức
fanFundingEvents.list
sẽ không trả về dữ liệu nữa.
Ngày 11 tháng 8 năm 2016
Bản cập nhật này có những thay đổi sau:
-
Điều khoản dịch vụ mới của Dịch vụ API YouTube ("Điều khoản mới cập nhật") được công bố gần đây (được thảo luận chi tiết trên Blog kỹ thuật và phát triển của YouTube) có nhiều điểm cập nhật so với Điều khoản dịch vụ hiện tại. Ngoài Điều khoản mới cập nhật (sẽ có hiệu lực từ ngày 10 tháng 2 năm 2017), nội dung cập nhật này còn bao gồm một số tài liệu hỗ trợ để giúp giải thích các chính sách mà nhà phát triển phải tuân thủ.
Bộ tài liệu mới đầy đủ được mô tả trong nhật ký sửa đổi của Điều khoản mới. Ngoài ra, những thay đổi trong tương lai đối với Điều khoản mới hoặc các tài liệu hỗ trợ đó cũng sẽ được giải thích trong nhật ký sửa đổi đó. Bạn có thể đăng ký nhận nguồn cấp dữ liệu RSS liệt kê các thay đổi trong nhật ký sửa đổi đó thông qua một đường liên kết trong tài liệu.
Ngày 20 tháng 5 năm 2016
YouTube hiện hỗ trợ việc nhập DASH. Theo đó, thuộc tính ingestionType
của tài nguyên liveStream
hỗ trợ giá trị mới dash
để xác định các luồng được nhập vào YouTube bằng DASH.
Hướng dẫn mới về Cung cấp nội dung phát trực tiếp trên YouTube thông qua DASH cung cấp các nguyên tắc sử dụng định dạng phân phối DASH để phát trực tiếp dữ liệu trên YouTube từ một bộ mã hoá. Tài liệu này nhằm giúp các nhà cung cấp bộ mã hoá thêm tính năng hỗ trợ phân phối DASH vào sản phẩm của họ.
Ngày 18 tháng 4 năm 2016
Bản cập nhật này có những thay đổi sau:
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
liveStream
nội dung cập nhật về tài nguyên-
YouTube hiện hỗ trợ các sự kiện phát trực tiếp có độ phân giải 1440p ở tốc độ 30 hoặc 60 khung hình/giây.
Ngoài ra, tài nguyên
liveStream
chứa các thuộc tính mới để chỉ định tốc độ khung hình và độ phân giải của dữ liệu video đầu vào:Thuộc tính cdn.frameRate
Tốc độ khung hình của dữ liệu video đầu vào. Các giá trị hợp lệ là 30fps
và60fps
.cdn.resolution
Độ phân giải của dữ liệu video đầu vào. Các giá trị hợp lệ của thuộc tính là: 1440p
,1080p
,720p
,480p
,360p
và240p
. -
Theo việc giới thiệu các thuộc tính
cdn.frameRate
vàcdn.resolution
của tài nguyênliveStream
,cdn.format
của tài nguyên hiện không được dùng nữa. Thuộc tínhcdn.format
chỉ định độ phân giải và tốc độ khung hình trong một giá trị duy nhất.Bạn nên chuyển sang các trường mới được hỗ trợ. Trong thời gian chờ đợi,
cdn.format
vẫn tiếp tục hoạt động. Ngoài ra, các yêu cầu chèn luồng phát trực tiếp hiện tại sẽ thành công miễn là bạn chỉ định giá trị cho thuộc tínhcdn.format
hoặc các thuộc tínhcdn.frameRate
vàcdn.resolution
. Nếu bạn cung cấp giá trị cho cả 3 thuộc tính, API có thể trả về lỗi nếu các giá trị không khớp với nhau.Xin lưu ý rằng mặc dù thuộc tính
cdn.format
không được dùng nữa, nhưng hiện tại thuộc tính này hỗ trợ 2 giá trị mới là1440p
và1440p_hfr
để phản ánh việc API hỗ trợ các luồng 1440p ở tốc độ 30 hoặc 60 khung hình/giây.
-
liveBroadcast
nội dung cập nhật về tài nguyên-
Tài nguyên
liveBroadcast
có các thuộc tính mới sau:Thuộc tính contentDetails.boundStreamLastUpdateTimeMs
Ngày và giờ mà luồng phát trực tiếp được tham chiếu theo thuộc tính contentDetails.boundStreamId
của chương trình phát sóng được cập nhật lần gần đây nhất.contentDetails.projection
Định dạng chiếu của chương trình phát sóng. Giá trị mặc định của thuộc tính là rectangular
. Các giá trị hợp lệ cho thuộc tính này là360
vàrectangular
. -
Định nghĩa về thuộc tính
statistics.totalChatCount
của tài nguyênliveBroadcast
đã được cập nhật để lưu ý rằng giá trị thuộc tính chỉ xuất hiện nếu chương trình phát sóng có ít nhất một tin nhắn trò chuyện.
-
liveChatMessage
nội dung cập nhật về tài nguyên-
Thuộc tính
snippet.type
hỗ trợ 2 giá trị mới làmessageDeletedEvent
vàuserBannedEvent
, tương ứng với các thuộc tính mới được mô tả trong dấu đầu dòng sau. Định nghĩa về thuộc tínhsnippet.authorChannelId
cũng đã được cập nhật để giải thích giá trị thuộc tính xác định những loại thông báo mới này. -
Tài nguyên
liveChatMessage
có các thuộc tính mới sau:Thuộc tính snippet.messageDeletedDetails
Đối tượng này chứa thông tin về một tin nhắn đã bị người kiểm duyệt cuộc trò chuyện xoá. Đối tượng này chỉ xuất hiện nếu giá trị thuộc tính snippet.type
làmessageDeletedEvent
.snippet.userBannedDetails
Đối tượng này chứa thông tin về một người dùng bị cấm tham gia cuộc trò chuyện. Đối tượng này cũng chứa thông tin về lệnh cấm, cụ thể là lệnh cấm đó là vĩnh viễn hay tạm thời. Nếu lệnh cấm là tạm thời, thì một trong các thuộc tính của đối tượng sẽ chỉ định thời hạn của lệnh cấm.
Đối tượng này chỉ xuất hiện nếu giá trị thuộc tínhsnippet.type
làuserBannedEvent
.
-
-
Lỗi mới và lỗi đã cập nhật
-
API này hỗ trợ các lỗi mới sau đây:
Chi tiết về lỗi liveBroadcasts.bind
Phương thức liveBroadcasts.bind
trả về lỗi403
(Forbidden
) để cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khoảng thời gian nhất định. Lý do gây ra lỗi làuserRequestsExceedRateLimit
.
Phương thứcliveBroadcasts.insert
vàliveBroadcasts.update
đã hỗ trợ cùng một lỗi.liveStreams.insert
Phương thức liveStreams.insert
hỗ trợ 4 lỗi400
(Bad Request
) mới giúp xác định giá trị thuộc tính không hợp lệ trong tài nguyênliveStream
mà yêu cầu đã cố gắng chèn. Danh sách sau đây xác định các lý do gây ra lỗi và những thuộc tính mà các lý do đó liên kết:
invalidFormat
:cdn.format
invalidFrameRate
:cdn.frameRate
invalidIngestionType
:cdn.ingestionType
invalidResolution
:cdn.resolution
liveStreams.insert
Phương thức liveStreams.insert
hỗ trợ 2 lỗi400
(Bad Request
) mới. Mỗi lỗi cho biết rằng một giá trị bắt buộc không có trong tài nguyênliveStream
mà yêu cầu đã cố gắng chèn. Danh sách sau đây xác định các lý do gây ra lỗi và những thuộc tính mà các lý do đó liên kết:
frameRateRequired
:cdn.frameRate
resolutionRequired
:cdn.resolution
liveStream
, bạn phải chỉ định một giá trị cho thuộc tínhcdn.format
hoặc cho các thuộc tínhcdn.frameRate
vàcdn.resolution
.
- API sẽ trả về lỗi
formatRequired
nếu bạn không chỉ định giá trị cho bất kỳ thuộc tính nào trong số 3 thuộc tính này. - API sẽ trả về lỗi
frameRateRequired
nếu bạn chỉ định một giá trị chocdn.resolution
nhưng không chỉ định chocdn.frameRate
. - API sẽ trả về lỗi
resolutionRequired
nếu bạn chỉ định một giá trị chocdn.frameRate
nhưng không chỉ định chocdn.resolution
.
liveStreams.update
Phương thức liveStreams.update
trả về lỗi403
(Forbidden
) nếu yêu cầu cố gắng sửa đổi giá trị của bất kỳ thuộc tính bất biến nào sau đây:cdn.format
cdn.frameRate
cdn.ingestionType
cdn.resolution
reason
trong phản hồi lỗi làliveStreamModificationNotAllowed
.
-
Ngày 18 tháng 12 năm 2015
Luật của Liên minh Châu Âu (EU) yêu cầu bạn phải công bố một số thông tin nhất định và nhận được sự đồng ý của người dùng cuối ở EU. Do đó, đối với người dùng cuối ở Liên minh Châu Âu, bạn phải tuân thủ Chính sách về sự đồng ý của người dùng ở Liên minh Châu Âu. Chúng tôi đã thêm thông báo về yêu cầu này trong Điều khoản dịch vụ của API YouTube.
Ngày 17 tháng 12 năm 2015
Bản cập nhật này có những thay đổi sau:
-
Tài nguyên và phương thức mới
-
API này hỗ trợ một số tài nguyên mới để hỗ trợ chức năng trò chuyện cho chương trình phát sóng trực tiếp. YouTube hỗ trợ chức năng trò chuyện trực tiếp trong các sự kiện phát sóng trực tiếp đang diễn ra. Các tài nguyên này và phương thức của chúng hỗ trợ việc truy xuất tin nhắn trò chuyện cũng như các chức năng quản trị cho cuộc trò chuyện.
Tài nguyên liveChatMessage
Tài nguyên này đại diện cho một tin nhắn trong cuộc trò chuyện trực tiếp trên YouTube. YouTube hỗ trợ nhiều loại thông báo, trong đó có tin nhắn văn bản và sự kiện ủng hộ của người hâm mộ. Một số loại tin nhắn xác định một giai đoạn cụ thể của cuộc trò chuyện, chẳng hạn như bắt đầu giai đoạn chỉ dành cho nhà tài trợ hoặc kết thúc cuộc trò chuyện. API này hỗ trợ các phương thức liệt kê, chèn và xoá tin nhắn trong cuộc trò chuyện trực tiếp. liveChatModerators
Tài nguyên này xác định một người kiểm duyệt cuộc trò chuyện. Người kiểm duyệt có thể thực hiện một số chức năng quản trị, chẳng hạn như cấm người dùng tham gia trò chuyện hoặc xoá tin nhắn. API này hỗ trợ các phương thức liệt kê, chèn và xoá người kiểm duyệt cuộc trò chuyện trực tiếp. liveChatBans
Tài nguyên này xác định một người dùng bị cấm đăng tin nhắn trong một cuộc trò chuyện trực tiếp cụ thể. Lệnh cấm có thể là tạm thời hoặc vĩnh viễn. API này hỗ trợ các phương thức chèn và xoá lệnh cấm trò chuyện trực tiếp. fanFundingEvents
Tài nguyên này đại diện cho một sự kiện Tài trợ của người hâm mộ trên một kênh YouTube. Tính năng Tài trợ của người hâm mộ là một cách để người xem tự nguyện hỗ trợ nhà sáng tạo trên YouTube bằng các khoản tiền đóng góp một lần.
Phương thứcfanFundingEvents.list
của API này liệt kê các sự kiện Ủng hộ của người hâm mộ của một kênh. Các sự kiện gây quỹ cho người hâm mộ được bắt đầu thông qua cuộc trò chuyện trực tiếp trong một chương trình phát sóng trực tiếp thuộc sở hữu của kênh cũng sẽ kích hoạt mộtfanFundingEvent
tin nhắn trong cuộc trò chuyện trực tiếp của chương trình phát sóng đó.
Tìm hiểu thêm về tính năng Ủng hộ người hâm mộ trong Trung tâm trợ giúp của YouTube.sponsors
Tài nguyên sponsor
xác định một nhà tài trợ của một kênh YouTube. Nhà tài trợ trả phí hằng tháng cho một kênh. Huy hiệu sẽ xuất hiện bên cạnh tin nhắn của nhà tài trợ trong cuộc trò chuyện trực tiếp của kênh. Nhà tài trợ cũng có thể tham gia cuộc trò chuyện trực tiếp dành riêng cho nhà tài trợ của kênh (nếu có).
Phương thứcsponsors.list
của API liệt kê những nhà tài trợ của một kênh. Khi người dùng đăng ký ủng hộ một kênh trong một chương trình phát sóng trực tiếp thuộc sở hữu của kênh đó, API cũng sẽ thêm thông báonewSponsorEvent
vào cuộc trò chuyện trực tiếp của chương trình phát sóng.
Tìm hiểu thêm về tính năng tài trợ trong Trung tâm trợ giúp của YouTube.
-
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
-
Tài nguyên
liveBroadcast
có các thuộc tính mới sau:Thuộc tính snippet.liveChatId
Mã nhận dạng của cuộc trò chuyện trực tiếp trên YouTube trong chương trình phát sóng. Với mã nhận dạng này, bạn có thể sử dụng các phương thức của tài nguyên liveChatMessage
để truy xuất, chèn hoặc xoá tin nhắn trò chuyện. Bạn cũng có thể thêm hoặc xoá người kiểm duyệt cuộc trò chuyện, cấm người dùng tham gia cuộc trò chuyện trực tiếp hoặc xoá lệnh cấm hiện có.contentDetails.closedCaptionsType
Lưu ý: Thuộc tính này thay thế thuộc tính contentDetails.enableClosedCaptions
.
Thuộc tính này cho biết liệu bạn có bật phụ đề cho chương trình phát sóng hay không và nếu có thì bạn đang cung cấp loại phụ đề nào:closedCaptionsDisabled
: Phụ đề bị tắt đối với chương trình phát sóng trực tiếp này.closedCaptionsHttpPost
: Bạn sẽ gửi phụ đề thông qua HTTP POST đến một URL tiếp nhận được liên kết với luồng phát trực tiếp của bạn.closedCaptionsEmbedded
: Phụ đề sẽ được mã hoá trong luồng video bằng định dạng EIA-608 và/hoặc CEA-708.
contentDetails.enableClosedCaptions
Thuộc tính này không được dùng nữa kể từ ngày 17 tháng 12 năm 2015. Thay vào đó, hãy dùng thuộc tính contentDetails.closedCaptionsType
. Đối với những ứng dụng API đang sử dụng tài sản này:- Đặt giá trị thuộc tính thành
true
tương đương với việc đặt thuộc tínhcontentDetails.closedCaptionsType
thànhclosedCaptionsHttpPost
. - Đặt giá trị thuộc tính thành
false
tương đương với việc đặt thuộc tínhcontentDetails.closedCaptionsType
thànhclosedCaptionsDisabled
.
-
Tham số
broadcastType
mới của phương thứcliveBroadcasts.list
cho phép bạn lọc phản hồi API để thêm thông báo sự kiện, thông báo liên tục hoặc tất cả thông báo.Thông báo truyền tin liên tục là thông báo luôn tồn tại và không gắn liền với một sự kiện cụ thể. Cụ thể, chương trình phát sóng mặc định của một kênh là chương trình phát sóng liên tục và có thể truy cập thông qua Trang tổng quan về sự kiện phát trực tiếp trong YouTube Creator Studio. Các chương trình phát sóng khác của kênh là chương trình phát sóng sự kiện.
-
-
Trường
status.healthStatus.configurationIssues[].type
của tài nguyênliveStream
báo cáo các lỗi mới về tình trạng sau đây:Lỗi audioTooManyChannels
Âm thanh có nhiều hơn hai kênh nhưng chỉ một kênh (đơn âm) hoặc hai kênh (âm thanh nổi) được hỗ trợ. Vui lòng sửa số kênh âm thanh. frameRateHigh
Tốc độ khung hình hiện tại quá cao. Vui lòng đặt tốc độ khung hình thành khung hình/giây trở xuống.%(framerate)s
-
Chúng tôi đã sửa ngày xuất bản của bản cập nhật tài liệu trước đó.
-
Lỗi mới và lỗi đã cập nhật
-
Ngoài các lỗi được xác định cho các tài nguyên mới nêu trên, API này còn hỗ trợ các lỗi mới sau:
Chi tiết về lỗi liveBroadcasts.update
Mã phản hồi HTTP forbidden (403)
Lý do closedCaptionsTypeModificationNotAllowed
Mô tả Bạn chỉ có thể sửa đổi giá trị contentDetails.closedCaptionsType
khi chương trình phát sóng ở trạng tháicreated
hoặcready
.liveBroadcasts.update
Mã phản hồi HTTP invalidValue (400)
Lý do invalidEnableClosedCaptions
Mô tả Trong tài nguyên liveBroadcast, giá trị của thuộc tính contentDetails.enableClosedCaptions
không tương thích với giá trị của chế độ cài đặtcontentDetails.closedCaptionType
. Sửa đổi tài nguyên để chỉ bao gồm một trong hai thuộc tính, rồi gửi lại yêu cầu.
-
Ngày 19 tháng 8 năm 2015
Bản cập nhật này có những thay đổi sau:
-
Tài nguyên và phương thức mới
-
Lưu ý: Tài liệu về tài nguyên
liveChat
và các phương thức của tài nguyên này là thông tin mật và chỉ một số đối tác của YouTube mới có thể xem được.Tài nguyên
liveChat
mới chứa một bình luận được đăng trong một chương trình phát sóng trực tiếp trên YouTube. API này hỗ trợ 2 phương thức cho tài nguyên này:Phương thức liveChats.list
Liệt kê tin nhắn trò chuyện trực tiếp của một chương trình phát sóng. liveChats.insert
Tạo một tin nhắn trò chuyện mới. Bạn chỉ có thể truy xuất và đăng tin nhắn trong cuộc trò chuyện trực tiếp khi sự kiện phát sóng đang diễn ra.
-
-
Nội dung cập nhật đối với các tài nguyên và phương thức hiện có
-
Tài nguyên
liveStream
có các thuộc tính mới sau:Thuộc tính snippet.isDefaultStream
Cho biết liệu luồng này có phải là luồng mặc định cho kênh hay không. Luồng mặc định của kênh tồn tại vô thời hạn, không có thời gian bắt đầu hoặc kết thúc liên kết và không thể bị xoá. Hãy xem định nghĩa về tài sản để biết thêm thông tin về cách hoạt động của luồng mặc định. status.healthStatus
Đối tượng này chứa thông tin có thể dùng để xác định, chẩn đoán và giải quyết các vấn đề về hoạt động phát trực tuyến. Đối tượng này chứa một số thuộc tính con giúp bạn đánh giá tình trạng của một luồng video phát trực tiếp.
Cụ thể, đối tượngstatus.healthStatus.configurationIssues[]
liệt kê các vấn đề ảnh hưởng đến một luồng video. Một tài liệu mới, Configuration Issues for LiveStream Resources (Các vấn đề về cấu hình đối với tài nguyên LiveStream) liệt kê tất cả các vấn đề mà API báo cáo.contentDetails.isReusable
Cho biết liệu luồng có thể dùng lại hay không, tức là có thể liên kết với nhiều chương trình phát sóng. Các đài truyền hình thường sử dụng lại cùng một luồng phát cho nhiều chương trình phát sóng nếu các chương trình đó diễn ra vào những thời điểm khác nhau. -
Tài nguyên
liveBroadcast
có các thuộc tính mới sau:Thuộc tính snippet.isDefaultBroadcast
Cho biết liệu chương trình phát sóng này có phải là chương trình phát sóng mặc định của kênh hay không. Khi một kênh YouTube được bật tính năng phát trực tiếp, YouTube sẽ tạo một luồng phát mặc định và một chương trình phát sóng mặc định cho kênh đó. Luồng phát là cách chủ sở hữu kênh gửi video trực tiếp đến YouTube, còn chương trình phát sóng là cách người xem có thể xem luồng phát mặc định. Hãy xem định nghĩa về thuộc tính để biết thêm thông tin về cách hoạt động của các thông báo mặc định. contentDetails.enableLowLatency
Cho biết liệu chương trình phát sóng này có nên được mã hoá để phát trực tiếp có độ trễ thấp hay không. Luồng có độ trễ thấp có thể giảm thời gian hiển thị video cho người dùng xem chương trình phát sóng, mặc dù điều này cũng có thể ảnh hưởng đến độ phân giải cho người xem luồng phát. statistics.totalChatCount
Tổng số tin nhắn trong cuộc trò chuyện trực tiếp liên quan đến chương trình phát sóng. Thuộc tính và giá trị của thuộc tính này sẽ xuất hiện nếu người dùng nhìn thấy chương trình phát sóng và chương trình đó đã bật tính năng trò chuyện trực tiếp. Xin lưu ý rằng thuộc tính này sẽ không chỉ định giá trị sau khi chương trình phát sóng kết thúc. Vì vậy, thuộc tính này sẽ không xác định số lượng tin nhắn trò chuyện cho một video lưu trữ của một sự kiện phát sóng trực tiếp đã hoàn tất.
-
-
Lỗi mới và lỗi đã cập nhật
-
Ngoài các lỗi được xác định cho tài nguyên
liveChat
mới, API này còn hỗ trợ lỗi mới sau:Chi tiết về lỗi liveStreams.update
Mã phản hồi HTTP forbidden (403)
Lý do liveStreamModificationNotAllowed
Mô tả API này không cho phép bạn thay đổi một luồng có thể dùng lại thành luồng không thể dùng lại hoặc ngược lại. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu về chương trình phát sóng và luồng phát trực tiếp
-
Ngày 21 tháng 5 năm 2015
Bản cập nhật này có những thay đổi sau:
-
YouTube hiện hỗ trợ phát trực tiếp video ở tốc độ 60 khung hình/giây (fps), tức là video sẽ phát mượt mà hơn đối với video về trò chơi và các video có cảnh hành động nhanh khác. Khi bạn bắt đầu phát trực tiếp trên YouTube ở tốc độ khung hình 60fps, YouTube cũng sẽ cung cấp sự kiện phát trực tiếp đó ở tốc độ khung hình 30fps trên những thiết bị chưa hỗ trợ tốc độ khung hình cao.
Thuộc tính
cdn.format
của tài nguyênliveStream
hỗ trợ 2 giá trị mới cho tính năng này:720p_hfr
và1080p_hfr
.Hãy xem Blog dành cho nhà sáng tạo trên YouTube để biết thêm thông tin về tính năng này.
Ngày 21 tháng 8 năm 2014
Bản cập nhật này có những thay đổi sau:
-
Định nghĩa về tham số
walltime
của phương thứcliveBroadcasts.control
đã được cập nhật để lưu ý rằng giá trị thuộc tính được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ
). -
API hiện hỗ trợ các lỗi sau:
Loại lỗi Thông tin chi tiết về lỗi Mô tả insufficientPermissions
liveStreamingNotEnabled
Tất cả các phương thức cho tài nguyên liveBroadcast
vàliveStream
đều trả về lỗi này nếu người dùng đã uỷ quyền cho yêu cầu API chưa được bật tính năng phát trực tiếp video trên YouTube. Thông tin giải thích lý do người dùng không thể phát trực tiếp video có thể có trong phần cài đặt kênh của người dùng tại https://www.youtube.com/features.rateLimitExceeded
userRequestsExceedRateLimit
Cả phương thức liveBroadcasts.insert
vàliveStreams.insert
đều trả về lỗi này để cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định.
Ngày 2 tháng 5 năm 2014
Bản cập nhật này có những thay đổi sau:
-
Phần mô tả về tài nguyên
liveStream
và phương thứcliveBroadcasts.bind
đã được cập nhật để lưu ý rằng một chương trình phát sóng chỉ có thể liên kết với một luồng video, nhưng một luồng video có thể liên kết với nhiều chương trình phát sóng. Thay đổi này chỉ là nội dung chỉnh sửa tài liệu; chức năng API cơ bản không thay đổi. -
Thuộc tính
contentDetails.monitorStream.enableMonitorStream
của tài nguyênliveBroadcast
đã được cập nhật để giải thích rằng nếu giá trị của thuộc tính làtrue
, thì bạn phải chuyển chương trình phát sóng sang trạng tháitesting
trước khi có thể chuyển chương trình đó sang trạng tháilive
. (Nếu giá trị của thuộc tính làfalse
, chương trình phát sóng của bạn không thể có giai đoạntesting
, vì vậy, bạn có thể chuyển chương trình phát sóng trực tiếp sang trạng tháilive
. -
Thuộc tính
settings.offsetTimeMs
của tài nguyênliveCuepoint
đã được cập nhật để lưu ý rằng bạn không nên chỉ định giá trị cho thuộc tính này nếu chương trình phát sóng của bạn không có luồng giám sát. -
Tất cả các phương thức cho tài nguyên
liveBroadcast
vàliveStream
hiện đều hỗ trợ các tham sốonBehalfOfContentOwner
vàonBehalfOfContentOwnerChannel
. Các tham số này cho phép bạn sử dụng cùng một thông tin đăng nhập uỷ quyền để hoàn tất các yêu cầu API cho nhiều kênh liên kết với cùng một chủ sở hữu nội dung. -
Tài liệu về phương thức
liveCuepoints.insert
đã được cập nhật để lưu ý rằng bạn có thể đặt một giá trị cho thuộc tínhsettings.walltime
khi gọi phương thức đó. -
Tài liệu về lỗi hiện chỉ định mã phản hồi HTTP cho từng loại lỗi.
-
API hiện hỗ trợ lỗi sau:
Loại lỗi Thông tin chi tiết về lỗi Mô tả insufficientPermissions
livePermissionBlocked
Các phương thức liveBroadcasts.insert
,liveBroadcasts.transition
vàliveStreams.insert
sẽ trả về lỗi này nếu người dùng đã uỷ quyền cho yêu cầu không thể phát trực tiếp video trên YouTube. Thông tin giải thích lý do người dùng không thể phát trực tiếp video có thể có trong phần cài đặt kênh của người dùng tại https://www.youtube.com/features. -
Lỗi
invalidScheduledStartTime
của phương thứcliveBroadcasts.insert
đã được cập nhật để làm rõ rằng thời gian bắt đầu theo lịch phải đủ gần với ngày hiện tại để có thể lên lịch phát sóng một cách đáng tin cậy vào thời điểm đó.
Ngày 13 tháng 12 năm 2013
Bản cập nhật này có những thay đổi sau:
-
Thuộc tính
status.recordingStatus
mới của tài nguyênliveBroadcast
xác định trạng thái hiện tại của chương trình phát sóng. -
Thuộc tính
contentDetails.enableClosedCaptions
mới của tài nguyênliveBroadcast
cho biết liệu bạn có thể nhận phụ đề cho chương trình phát sóng hay không. Bạn có thể đặt giá trị thuộc tính khi chèn hoặc cập nhật một chương trình phát sóng, nhưng không thể cập nhật giá trị này sau khi chương trình phát sóng ở trạng tháitesting
hoặclive
. Nếu bạn đặt thuộc tính này thànhtrue
, thì tài nguyênliveStream
được liên kết với chương trình phát sóng sẽ chỉ định URL truyền trực tiếp để dùng cho phụ đề của chương trình phát sóng. -
Giờ đây, thuộc tính
snippet.scheduledEndTime
của tài nguyênliveBroadcast
hỗ trợ các chương trình phát sóng được lên lịch tiếp tục vô thời hạn. Với thay đổi này, bạn không còn bắt buộc phải sử dụng thuộc tính này trong các yêu cầuliveBroadcasts.insert
vàliveBroadcasts.update
.
Nếu bạn truy xuất một tài nguyênliveBroadcast
không chỉ định giá trị cho thuộc tính này, thì chương trình phát sóng sẽ được lên lịch để tiếp tục vô thời hạn. Tương tự, nếu bạn gọi phương thứcliveBroadcasts.insert
hoặcliveBroadcasts.update
và không chỉ định giá trị cho thuộc tính này, thì thông báo truyền tin sẽ được lên lịch để tiếp tục vô thời hạn. -
Giờ đây, bạn chỉ có thể đặt thuộc tính
contentDetails.recordFromStart
của tài nguyênliveBroadcast
(vốn đã có giá trị mặc định làtrue
) thànhfalse
nếu kênh phát sóng được phép tắt tính năng ghi hình cho chương trình phát sóng trực tiếp.Nếu kênh của bạn không có quyền tắt tính năng ghi hình và bạn cố gắng chèn một chương trình phát sóng có thuộc tính
recordFromStart
được đặt thànhfalse
, thì API sẽ trả về lỗiForbidden
. Ngoài ra, nếu kênh của bạn không có quyền đó và bạn cố gắng cập nhật một chương trình phát sóng để đặt thuộc tínhrecordFromStart
thànhfalse
, thì API sẽ trả về lỗimodificationNotAllowed
. -
Tài nguyên
liveBroadcast
không còn chứa thuộc tínhenableArchive
. Thuộc tính này đã được đề cập trong nội dung mô tả của các thuộc tínhcontentDetails.enableDvr
vàcontentDetails.enableEmbed
. -
Danh sách các giá trị hợp lệ cho thuộc tính
status.lifeCycleStatus
của tài nguyênliveBroadcast
đã được cập nhật để bao gồm nội dung mô tả về từng trạng thái. -
Thuộc tính
settings.walltime
mới của tài nguyênliveCuepoint
chỉ định ngày và giờ mà bạn nên chèn điểm đánh dấu. API sẽ trả về lỗi nếu một yêu cầu cố gắng chèn một điểm đánh dấu cảnh chỉ định giá trị cho thuộc tính này và cho thuộc tínhsettings.offsetTimeMs
. -
Đối tượng
contentDetails
mới trong tài nguyênliveStream
chứa thông tin về sự kiện phát trực tiếp. Hiện tại, thuộc tính duy nhất của đối tượng làcontentDetails.closedCaptionsIngestionUrl
, chỉ định URL tiếp nhận cho phụ đề chi tiết được liên kết với luồng video. -
Danh sách các giá trị hợp lệ cho thuộc tính
status.streamStatus
của tài nguyênliveStream
đã được cập nhật để bao gồm nội dung mô tả về từng trạng thái. -
Tham số
walltime
mới của phương thứcliveBroadcasts.control
cho phép bạn chỉ định ngày và giờ xảy ra thay đổi về bảng thông báo. API sẽ trả về lỗi nếu một yêu cầu chỉ định giá trị cho tham số này và cho tham sốoffsetTimeMs
. -
Trong phản hồi API cho yêu cầu
liveBroadcasts.list
, giá trị của thuộc tínhkind
đã thay đổi từyoutube#liveBroadcastList
thànhyoutube#liveBroadcastListResponse
. -
Trong phản hồi API cho yêu cầu
liveStreams.list
, giá trị của thuộc tínhkind
đã thay đổi từyoutube#liveStreamList
thànhyoutube#liveStreamListResponse
. -
Thuộc tính
eventId
không được dùng nữa trong cảliveBroadcastListResponse
vàliveStreamListResponse
. -
API này hỗ trợ các lỗi mới sau đây:
Loại lỗi Thông tin chi tiết về lỗi Mô tả invalidValue
conflictingTimeFields
Phương thức liveBroadcasts.control
sẽ trả về lỗi này nếu yêu cầu của bạn chỉ định các giá trị cho tham sốoffsetTimeMs
vàwalltime
. Yêu cầu có thể bỏ qua cả hai tham số hoặc chỉ định một giá trị cho một trong hai tham số.invalidValue
invalidWalltime
Phương thức liveBroadcasts.control
sẽ trả về lỗi này nếu giá trị của tham sốwalltime
không hợp lệ.forbidden
enableClosedCaptionsModificationNotAllowed
Phương thức liveBroadcasts.update
sẽ trả về lỗi này nếu bạn cố gắng cập nhật giá trịcontentDetails.enableClosedCaptions
và trạng thái của thông báo truyền tin không phải làcreated
hoặcready
.invalidValue
conflictingTimeFields
Phương thức liveCuepoints.insert
sẽ trả về lỗi này nếu yêu cầu của bạn chỉ định các giá trị cho thuộc tínhsettings.offsetTimeMs
vàsettings.walltime
. Yêu cầu có thể bỏ qua cả hai thuộc tính hoặc chỉ định giá trị cho một trong hai thuộc tính.Ngoài ra, phương thức
liveStreams.update
không còn hỗ trợ lỗicdnRequired
tương tự như lỗi mà phương thứcliveStreams.insert
hỗ trợ.
Ngày 10 tháng 5 năm 2013
Bản cập nhật này có những thay đổi sau:
-
YouTube không còn xác định các tính năng và dịch vụ API thử nghiệm nữa. Thay vào đó, chúng tôi hiện cung cấp danh sách các API của YouTube chịu sự điều chỉnh của chính sách ngừng cung cấp.
Ngày 2 tháng 5 năm 2013
Bản cập nhật này có những thay đổi sau:
-
Phương thức
liveBroadcasts.control
mới cho phép bạn bật/tắt chế độ cài đặt hiển thị cho một bảng thông báo xuất hiện trong luồng phát sóng của một chương trình phát sóng đang diễn ra. Nếu luồng phát sóng của bạn bị trễ, bạn cũng có thể sử dụng phương thức này để chỉ định độ lệch thời gian khi yêu cầu thay đổi bảng thông tin sẽ diễn ra. -
Định nghĩa của các thuộc tính sau đã được cập nhật để giải thích rằng bạn phải đặt giá trị thuộc tính nếu cập nhật phần
contentDetails
của tài nguyênliveBroadcast
: -
status.streamStatus
của tài nguyênliveStream
không còn hỗ trợ giá trịdeleted
làm trạng thái luồng có thể có nữa. -
Thông tin mà API trả về cho nhiều thông báo lỗi đã được sửa đổi để giải thích rõ hơn lý do xảy ra các lỗi cụ thể. API này cũng hỗ trợ một số lỗi mới.
Ngày 27 tháng 3 năm 2013
Bản cập nhật này có những thay đổi sau:
-
Các thuộc tính sau đây đã thay đổi trong tài nguyên
liveBroadcast
:- Thuộc tính
startWithSlateCuepoint
đã được đổi tên thànhstartWithSlate
. - Thuộc tính
enableArchive
đã được đổi tên thànhrecordFromStart
. - Đối tượng
slateSettings
đã ngừng hoạt động và bị xoá khỏi tài liệu. Thông báo lỗi liên quan đến đối tượngslateSettings
hoặc các thuộc tính của đối tượng này cũng đã bị xoá. Cuối cùng, phần "Hiển thị bảng thông tin" trong hướng dẫn Bắt đầu đã bị xoá.
- Thuộc tính
-
API này không còn hỗ trợ khả năng chèn bảng quảng cáo trong luồng phát bằng phương thức
liveCuepoints.insert
. Các tài liệu sau đây đã được cập nhật để phản ánh thay đổi này:-
Trang chỉ mục, hướng dẫn Bắt đầu sử dụng và hướng dẫn Vòng đời của một chương trình phát sóng không còn đề cập đến chức năng này nữa.
-
Thuộc tính
settings.cueType
của tài nguyênliveCuepoint
không còn hỗ trợslate
làm giá trị thuộc tính nữa. (Giá trị duy nhất được hỗ trợ làad
. -
Thuộc tính
settings.eventState
của tài nguyênliveCuepoint
đã không được dùng nữa và bị xoá khỏi tài liệu.
-
Ngày 18 tháng 3 năm 2013
Bản cập nhật này có những thay đổi sau:
-
Tất cả thông báo lỗi của API đều đã được cập nhật để giải thích rõ ràng hơn về các lỗi có thể xảy ra và đưa ra hướng dẫn (nếu có thể) về cách khắc phục.
-
Giờ đây, API có thể trả về một số lỗi mới. Danh sách dưới đây xác định lỗi và phương thức API có thể trả về lỗi đó:
liveBroadcasts.insert
– Thời gian kết thúc dự kiến của chương trình phát sóng phải sau thời gian bắt đầu dự kiến.liveBroadcasts.insert
– Chương trình phát sóng chỉ định trạng thái quyền riêng tư không hợp lệ.liveBroadcasts.update
– Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tínhcontentDetails.enableArchive
.liveBroadcasts.update
– Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tínhcontentDetails.enableContentEncryption
.liveBroadcasts.update
– Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tínhcontentDetails.enableDvr
.liveStreams.insert
– Tiêu đề của đoạn trích phải dài từ 1 đến 128 ký tự.liveStreams.update
– Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tínhsnippet.title
.
-
Tài liệu về tài nguyên
liveStream
đã được cập nhật để phản ánh rằng phương thức truyền tin đa hướng và WebM không phải là phương thức truyền nhận được hỗ trợ như đã nêu trước đó. Danh sách định dạng cho thuộc tínhcdn.format
đã được cập nhật cho phù hợp, đồng thời đối tượngcdn.multicastIngestionInfo
và các thuộc tính con của đối tượng này đã bị xoá khỏi tài liệu của tài nguyên. Ngoài ra,http
đã bị xoá khỏi danh sách các giá trịcdn.ingestionType
được hỗ trợ.