API Phát trực tiếp trên YouTube - Nhật ký sửa đổi

Trang này liệt kê các thay đổi về API Phát trực tiếp trên YouTube và nội dung cập nhật tài liệu. Đăng ký nhật ký thay đổi này. Đăng ký

Ngày 9 tháng 10 năm 2023

Chỉ để tham khảo, bạn có thể tìm thấy mã hình dán liên quan đến Super Stickers nào trong tệp CSV này. Các định nghĩa cho 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 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 tự chèn điểm chèn quảng cáo vào một chương trình phát sóng, giờ đây, YouTube 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 những khoảng thời gian cố định.

Nếu chủ sở hữu chương trình phát sóng bật quảng cáo tự động, thì họ có thể xem các khía cạnh sau của hành vi quảng cáo:

  • 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 biểu cho các điểm dừng quảng cáo. Các điểm dừng có thể được chèn đồng thời cho tất cả người xem hoặc thời gian của các điểm dừng có thể khác nhau tuỳ theo từng người xem. Chiến lược thứ hai cho phép YouTube lên lịch các điểm dừng với tốc độ cao hơn để người xem nhận được điểm dừng khi họ đủ điều kiện để đặt điểm dừng.
  • khoảng thời gian 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ẽ bị tạm dừng cho đến một thời điểm cụ thể.

Tài liệu cho biết 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ượng monetizationDetails. Các trường của đối tượng 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êm thông tin để lập lịch các điểm dừng.
  • Tham số part của phương thức liveBroadcast.list hỗ trợ giá trị monetizationDetails.
  • Bạn có thể sử dụng phương thức update để tạm dừng 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. Giờ đây, tài liệu này cũng xác định một số lỗi có thể xảy ra khi cập nhật thông tin kiếm tiền của một chương trình 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 chỉ định giá trị cho các trường sau đây:

    • snippet.title
    • status.privacyStatus

    Việc bỏ qua các trường này trong yêu cầu sẽ không thay đổi các trường này.

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 chạy một sự kiện phát trực tiếp trên YouTube chèn các điểm dừng vào sự kiện phát sóng đó để kích hoạt các điểm chèn quảng cáo. Phương thức này thay thế phương thức liveCuepoints.insert, chỉ cho phép các đối tác nội dung của YouTube chèn điểm dừng vào sự kiện 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 khả năng sử dụng 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ức liveCuepoints.insert từ hoặc sau ngày 1 tháng 5 năm 2023. Người dùng API nên cập nhật ứng dụng của họ để gọi phương thức liveBroadcasts.cuepoint.

  • Tài liệu về phương thức liveBroadcasts.control đã bị xoá. Chúng tôi đã đăng thông báo về việc ngừng sử dụng phương thức đó 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 chỉ định giá trị cho các trường sau:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    Việc bỏ qua các trường này trong yêu cầu sẽ không thay đổi các trường này.

  • 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ợ hai giá trị mới:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • Thuộc tính snippet.membershipGiftingDetails mới của tài nguyên liveChatMessage và các thuộc tính con của tài nguyên này có chứa thông tin về sự kiện Tặng gói hội viên. Tương tự, thuộc tính snippet.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 gói 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ợ hai giá trị mới:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • Thuộc tính snippet.memberMilestoneChatDetails mới của tài nguyên liveChatMessage và các thuộc tính con của tài nguyên 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ính snippet.newSponsorDetails mới và các thuộc tính con của nó 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 (Forbidden) mới. Lỗi này cho biết 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

  • Phần định nghĩa về thuộc tính status.madeForKids của tài nguyên liveBroadcast đã được cập nhật để làm rõ rằng thuộc tính này ở chế độ chỉ có thể đọc. Điều này không phản ánh sự thay đổi về chức năng của API.

    Để chỉ định một chương trình phát sóng trực tiếp là hướng tới trẻ em, hãy đặt thuộc tính status.selfDeclaredMadeForKids thành true khi gọi phương thức liveBroadcasts.insert để tạo chương trình phát sóng đó.

  • Lưu ý: Thay đổi này bao gồm thông báo về việc ngừng sử dụng và nội dung cập nhật cho thông báo về việc ngừng sử dụng 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à sau đó phương thức này sẽ bị xoá hoàn toàn. Máy khách vẫn có thể triển khai phương thức truyền dẫ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ủ truyền dẫn của YouTube.

    Ngày ngừng sử dụng thông báo về việc 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à vào ngày 1 tháng 9 năm 2020, đã bị lùi lại và từ nay 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 về việc ngừng sử dụng đó và phương thức liveBroadcasts.control đều 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à nội dung cập nhật cho một thông báo về việc ngừng sử dụng trước đó.

Kể từ ngày 17 tháng 8 năm 2020, chúng tôi đã ngừng hỗ trợ trường cdn.format của tài nguyên liveStream (đã ngừng hoạt động từ tháng 4 năm 2016). Kể từ ngày đó, các yêu cầu vẫn sử dụng trường đó sẽ không thực hiện được.

Nếu mã của bạn vẫn sử dụng trường cdn.format, thì bạn phải cập nhật mã để chỉ định riêng tốc độ khung hình và độ phân giải bằng cách sử dụng các thuộc tính cdn.frameRatecdn.resolution.

Ngày 6 tháng 7 năm 2020

Hướng dẫn Phân phối nội dung trực tiếp trên YouTube qua HLS đã được cập nhật với một số thay đổi như sau:

  • Thời lượng đề xuất cho một Phân đ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 sẽ giải thích cách nhận URL truyền dẫn HLS từ YouTube Creator Studio.
  • Chúng tôi đã chuyển hướng dẫn định dạng giá trị thông số file sang phần mới Hoàn tất URL truyền dẫn HLS. Những hướng dẫn này áp dụng bất kể URL truyền dẫn HLS được lấy từ API YouTube hay YouTube Creator Studio.

Ngoài ra, tính năng so sánh giao thức truyền dẫn mới liệt kê các giao thức truyền dẫn mà YouTube hỗ trợ, các bộ mã hoá và giải mã được hỗ trợ cho mỗi giao thức, cùng với 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 về việc ngừng sử dụng:

  • Tài nguyên liveBroadcast hiện hỗ trợ thuộc tính contentDetails.enableAutoStop. Tài sản này cho biết liệu quá trình phát sóng có tự động dừng phát trong khoảng một phút sau khi chủ sở hữu kênh dừng phát trực tuyến video trên luồng video ràng buộc hay không.

    Chúng tôi đã cập nhật tài liệu về thời gian tồn tại của một chương trình phát sóng để giải thích những thay đổi trong 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 nếu bạn đặt thuộc tính contentDetails.enableAutoStart hoặc contentDetails.enableAutoStop thành true.

  • 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. Dưới đây là ngày thực tế mà những thay đổi này có hiệu lực, được gọi là ngày ngừng sử dụng.

    Bản cập nhật này giải thích một thay đổi có thể có thể gây lỗi. Thay đổi này ảnh hưởng đến các ứng dụng API sử dụng tài nguyên liveStreamliveBroadcast 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 truyền tinmã luồng được liên kết với sự kiện phát trực tiếp và thông báo truyền tin liên tục sẽ không còn hoạt động để bắt đầu các sự kiện phát sóng mới.

    Đơn đăng ký của bạn sẽ bị ảnh hưởng nếu bất kỳ trường hợp nào sau đây xảy ra:

    • Phương thức này kiểm tra giá trị thuộc tính isDefaultBroadcast của tài nguyên liveBroadcast. 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 kiểm tra giá trị thuộc tính isDefaultStream của tài nguyên liveStream. 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ành persistent hoặc all. Trong những thay đổi này, thông số này sẽ không được dùng nữa. Kể từ ngày ngừng sử dụng:
      • Nếu giá trị tham số broadcastTypepersistent, thì phương thức liveBroadcasts.list sẽ không trả về kết quả nào.
      • Nếu giá trị tham số broadcastTypeall, thì phương thức liveBroadcasts.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 đó.

    Trong vài năm qua, YouTube đã tự động tạo một sự kiện phát trực tiếp mặc định và một thông báo phát sóng mặc định cho một 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ể xoá được. Tương tự, sự kiện phát sóng mặc định được coi là liên tục. Khoảng thời gian này luôn tồn tại và không liên kết với một sự kiện cụ thể nào.

    Kể từ ngày ngừng sử dụng:

    • YouTube sẽ không còn tạo sự kiện phát trực tiếp 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 liveBroadcastliveStream, cũng như liên kết các tài nguyên đó với nhau.
    • Nếu nội dung phát sóng và luồng mặc định của một kênh đang hoạt động, thì tức là kênh đang sử dụng nội dung phát sóng trực tiếp tại thời điểm ngừng sử dụng và sự kiện phát sóng đang diễn ra sẽ không bị ảnh hưởng. Tuy nhiên, sau khi thông báo truyền tin kết thúc, kênh sẽ không thể sử dụng lại thông báo truyền phát và sự kiện phát trực tiếp mặc định.
    • Nếu sự kiện phát sóng và sự kiện phát trực tiếp mặc định của một kênh không hoạt động, thì sau khi việc ngừng sử dụng có hiệu lực, YouTube sẽ bỏ qua những nỗ lực 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 để 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 phải giải quyết trong các ứng dụng API hiện đang sử dụng các thông báo truyền tin và luồng mặc định.
    • Hướng dẫn về Vòng đời của chương trình phát sóng sẽ cung cấp cho bạn quy trình từng bước để giải thích cách tạo và quản lý một sự kiện 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 bạn cần thực hiện để hoàn tất một hành động cụ thể. Do đó, ứng dụng của bạn sẽ cần tuân theo quy trình đó khi YouTube ngừng hỗ trợ các sự kiện phát trực tiếp và thông báo mặc đị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 đã ngừng hoạt động và được thay thế bằng tài nguyên member và phương thức members.list.

Từ ngày 30 tháng 9 năm 2020, phương thức sponsors.list sẽ không còn được hỗ trợ. Ứng dụng API nên cập nhật các lệnh gọi thành 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

Chúng tôi đã cập nhật phần Điểm cuối truyền dẫn trong hướng dẫn Cung cấp nội dung trực tiếp trên YouTube qua HLS để làm rõ quy trình mà bộ mã hoá cần sử dụng để hoàn tất giá trị tham số file= khi tạo URL truyền dẫn chính và URL truyền dẫn dự phòng.

Ngày 4 tháng 2 năm 2020

Hướng dẫn Phân phối nội dung 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 đó. Vì lý do hiệu suất, YouTube khuyên khách hàng không nên 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 tới 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ợ hai 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 chương trình phát sóng trực tiếp có phải là nội dung hướng tới trẻ em hay không. Bạn có thể đặt thuộc tính này khi tạo một thông báo truyền tin thông qua phương thức liveBroadcasts.insert. Xin lưu ý rằng thuộc tính này chỉ có trong các phản hồi của API chứa tài nguyên liveBroadcast nếu chủ sở hữu kênh đã uỷ quyền 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 thông báo truyền tin. Ví dụ: trạng thái có thể được xác định dựa trên giá trị của thuộc tính selfDeclaredMadeForKids. 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.
  • Trong API Dữ liệu của YouTube, tài nguyên channel cũng hỗ trợ các thuộc tính selfDeclaredMadeForKidsmadeForKids 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

Chúng tôi đã cập nhật phần Yêu cầu trong hướng dẫn Cung cấp nội dung trực tiếp trên YouTube qua HLS với 2 điểm thay đổi:

  • Trang này giải thích rằng phương pháp hay nhất là thêm cả các đoạn được ghi nhận và các đoạn nổi bật vào mỗi Danh sách phát nội dung nghe nhìn. Phương pháp 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 đa phương tiệ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 đã xác nhận và tối đa 5 phân đoạn đang chờ xử lý trong mỗi Danh sách phát nội dung nghe nhìn.
  • Giờ đây, bạn bắt buộc phải gửi 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 đa phương tiệ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ợ truyền dẫn 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 truyền dẫn vào YouTube bằng HLS.

Hướng dẫn mới về Phân phối nội dung trực tiếp trên YouTube qua HLS đưa ra các nguyên tắc về cách sử dụng HLS để phát nội dung trực tiếp đến YouTube 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 về các trường hợp sử dụng phổ biến cho mỗi 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 APIs Explorer. 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 API Explorer cho phép bạn chọn phạm vi uỷ quyền, nhập thông số mẫu và giá trị thuộc tính, sau đó gửi các yêu cầu API thực tế và xem các phản hồi thực tế của API. Tiện ích này cũng cung cấp chế độ xem toàn màn hình hiển thị các mã mẫu hoàn chỉnh. Tiện ích này sẽ tự động cập nhật để sử dụng các phạm vi và giá trị mà bạn đã nhập.

    • Phần 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 pháp đượ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 tin truyền cụ thể hoặc để truy xuất dữ liệu về các tin truyền 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 cho API Explorer cho trường hợp sử dụng của mình để điền sẵn các giá trị mẫu cho Trình khám phá API hoặc để mở API Explorer toàn màn hình bằng các giá trị đã điền sẵn. Những thay đổi này nhằm giúp bạn dễ dàng hơn trong việc xem các mã mẫu 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.

    Mã mẫu hiện đượ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 cung cấp tất cả tính năng tương tự mô tả ở trên. Nhờ công cụ này, bạn có thể khám phá các trường hợp sử dụng của nhiều phương thức, tải giá trị vào APIs Explorer và mở APIs Explorer toàn màn hình để xem mã mẫu bằng Java, JavaScript, PHP và Python.

    Cùng với thay đổi này, chúng tôi đã xoá những trang trước đây liệt kê các mã mẫu có thể sử dụng cho Java, PHP và Python.

Ngày 25 tháng 2 năm 2019

Tài liệu của các tài nguyên liveChatMessagesuperChatEvent đã đượ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, người hâm mộ mua tin nhắn Super Stickers trong một sự kiện phát trực tiếp trên YouTube.

  • Trong tài nguyên liveChatMessage, thuộc tính snippet.type hiện được đặt thành superStickerEvent để cho biết tài nguyên đó 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ượng snippet.superStickerDetails chứa thông tin bổ sung về Hình dán đặc biệt.
  • Trong tài nguyên superChatEvent, giá trị boolean snippet.isSuperStickerEvent cho biết liệu tin nhắn Super Chat có phải là Hình dán đặc biệt hay không. Nếu có thì đối tượng snippet.superStickerMetadata sẽ chứa thêm thông tin chi tiết về Hình dán đặc biệt đó.

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 thực tế là phản hồi API không còn chứa fanFundingEvents (không còn được dùng nữa vào đầu năm 2017).

Ngày 3 tháng 4 năm 2017

Chúng tôi đã thêm các mã mẫu bằng Java mới để hướng dẫn cách liệt kê, chènxoá tin nhắn trò chuyện trực tiếp. Mẫu gọi các 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à bắt buộc. Ngoài ra, mô tả của phương thức đã được cập nhật để lưu ý rằng các lệnh gọi đến phương thức đó phải được cấp phép bằng tài khoản liên kết với Chủ sở hữu nội dung trên YouTube.

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ức superChatEvents.list cho phép bạn chỉ định rằng giá trị thuộc tính snippet.displayString phải được định dạng theo quy ước của một ngôn ngữ cụ thể. Định nghĩa cho thuộc tính đó cũng đã được cập nhật tương ứng.

      Giá trị tham số phải là mã ngôn ngữ có trong danh sách mà phương thức i18nLanguages.list trả về. Giá trị mặc định là en, nghĩa là hành vi mặc định là định dạng các chuỗi hiển thị như được sử dụng trong 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 mà 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 so với các tin nhắn khác theo hai cách:

      • Super Chat được làm nổi bật bằng màu sắc.
      • Super Chat được ghim vào khu vực đầu cuộc trò chuyện trong một khoảng thời gian cố định.

      Màu của tin nhắn Super Chat, khoảng thời gian ghim Super Chat vào biểu ngữ và độ dài tin nhắn tối đa đều được xác định bằng số tiền mua. Bạn có thể truy cập vào Trung tâm trợ giúp của YouTube để tìm hiểu thêm thông tin về Super Chat.

      API hỗ trợ một phương thức để liệt kê các sự kiện Super Chat cho các sự kiện phát trực tiếp của 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 Tài trợ của người hâm mộ (fanFundingEvents) từ 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ó

    • Thuộc tính snippet.type hiện hỗ trợ giá trị superChatEvent. Giá trị này cho biết tài nguyên mô tả một Super Chat.

      Ngoài ra, thuộc tính snippet.superChatDetails mới của tài nguyên liveChatMessage và các thuộc tính con của tài nguyên đó chứa thông tin về sự kiện Super Chat.

    • Thuộc tính cdn.resolution của tài nguyên liveStream hiện hỗ trợ giá trị 2160p.

  • Lỗi mới và lỗi đã cập nhật

    • API hỗ trợ các lỗi mới sau đây:

      Chi tiết về lỗi
      liveBroadcasts.insert, liveBroadcasts.update Phương thức liveBroadcasts.insertliveBroadcasts.update trả về lỗi 400 (Bad Request) để cho biết tài nguyên liveBroadcast đang được chèn hoặc cập nhật có chứa giá trị không hợp lệ cho thuộc tính contentDetails.enableEmbed hoặc thuộc tính contentDetails.projection. Lý do lỗi cho 2 lỗi mới lần lượt là invalidEmbedSettinginvalidProjection.

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 sử dụng 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ẽ tắt vào ngày 28 tháng 2 năm 2017. Kể từ ngày đó:

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ụ của Dịch vụ API YouTube ("Điều khoản cập nhật") mới được phát hành, được thảo luận chi tiết trên Blog dành cho nhà phát triển và kỹ thuật của YouTube, cung cấp nhiều nội dung cập nhật đối với Điều khoản dịch vụ hiện tại. Ngoài Điều khoản cập nhật 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 có một số tài liệu hỗ trợ giúp giải thích những 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 phần 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 thông tin về các thay đổi đối với danh sách nguồn cấp dữ liệu RSS trong nhật ký sửa đổi đó qua đường liên kết trong tài liệu đó.

Ngày 20 tháng 5 năm 2016

YouTube hiện hỗ trợ truyền dẫn DASH (Truyền phát thích ứng động qua HTTP). 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 cách sử dụng DASH.

Hướng dẫn mới về Phân phối nội dung trực tiếp trên YouTube qua DASH đưa ra hướng dẫn về cách sử dụng định dạng phân phối DASH để phát trực tiếp dữ liệu trên YouTube từ bộ mã hoá. API 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 cập nhật tài nguyên
      • YouTube hiện hỗ trợ phát trực tiếp ở độ phân giải 1440p ở tốc độ 30 hoặc 60 khung hình/giây.

        Ngoài ra, tài nguyên liveStream còn 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à 30fps60fps.
        cdn.resolution Độ phân giải của dữ liệu video đầu vào. Các giá trị thuộc tính hợp lệ là: 1440p, 1080p, 720p, 480p, 360p240p.
      • Theo sự ra mắt của các thuộc tính cdn.frameRatecdn.resolution của tài nguyên liveStream, cdn.format của tài nguyên này hiện không còn được dùng nữa. Thuộc tính cdn.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 sự kiện phát trực tiếp hiện vẫn thành công miễn là bạn chỉ định giá trị cho thuộc tính cdn.format hoặc thuộc tính cdn.frameRatecdn.resolution. Nếu bạn cung cấp giá trị cho cả ba thuộc tính, API có thể trả về lỗi nếu các giá trị không khớp nhau.

        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ợ hai giá trị mới là 1440p1440p_hfr để phản ánh khả năng hỗ trợ của API cho các luồng 1440p ở tốc độ 30 hoặc 60 khung hình/giây.

    • liveBroadcast cập nhật tài nguyên
      • Tài nguyên liveBroadcast chứa các thuộc tính mới sau đây:

        Thuộc tính
        contentDetails.boundStreamLastUpdateTimeMs Ngày và giờ cập nhật gần đây nhất của sự kiện phát trực tiếp mà thuộc tính contentDetails.boundStreamId của chương trình phát sóng tham chiếu.
        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à 360rectangular.
      • Định nghĩa về thuộc tính statistics.totalChatCount của tài nguyên liveBroadcast đã được cập nhật để lưu ý rằng giá trị thuộc tính chỉ xuất hiện nếu thông báo truyền tin có ít nhất một tin nhắn trò chuyện.

    • liveChatMessage cập nhật tài nguyên
      • Thuộc tính snippet.type hỗ trợ hai giá trị mới là messageDeletedEventuserBannedEvent 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ính snippet.authorChannelId cũng đã được cập nhật để giải thích giá trị thuộc tính xác định cho các loại thông báo mới này.

      • Tài nguyên liveChatMessage chứa các thuộc tính mới sau đây:

        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.typemessageDeletedEvent.
        snippet.userBannedDetails Đối tượng này chứa thông tin về 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 này là vĩnh viễn hay tạm thời. Nếu lệnh cấm này là tạm thời, một trong các thuộc tính của đối tượng sẽ chỉ định khoảng thời gian cấm.

        Đối tượng này chỉ xuất hiện nếu giá trị thuộc tính snippet.typeuserBannedEvent.
  • Lỗi mới và lỗi đã cập nhật

    • API 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ỗi 403 (Forbidden) để cho biết người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định. Nguyên nhân gây lỗi là userRequestsExceedRateLimit.

      Các phương thức liveBroadcasts.insertliveBroadcasts.update đã hỗ trợ cùng một lỗi.
      liveStreams.insert Phương thức liveStreams.insert hỗ trợ 4 lỗi 400 (Bad Request) mới giúp xác định giá trị thuộc tính không hợp lệ trong tài nguyên liveStream mà yêu cầu đã cố chèn vào. Danh sách sau đây xác định nguyên nhân gây ra lỗi và những thuộc tính liên quan đến lỗi đó:
      liveStreams.insert Phương thức liveStreams.insert hỗ trợ 2 lỗi 400 (Bad Request) mới, mỗi lỗi cho biết rằng giá trị bắt buộc không có trong tài nguyên liveStream mà yêu cầu cố gắng chèn. Danh sách sau đây xác định nguyên nhân gây ra lỗi và những thuộc tính liên quan đến lỗi đó:
      Cụ thể hơn, khi chèn tài nguyên liveStream, bạn phải chỉ định giá trị cho thuộc tính cdn.format hoặc cho các thuộc tính cdn.frameRate 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 3 thuộc tính.
      • API sẽ trả về lỗi frameRateRequired nếu bạn chỉ định một giá trị cho cdn.resolution chứ không phải cdn.frameRate.
      • API sẽ trả về lỗi resolutionRequired nếu bạn chỉ định một giá trị cho cdn.frameRate chứ không phải cdn.resolution.
      liveStreams.update Phương thức liveStreams.update trả về lỗi 403 (Forbidden) nếu yêu cầu cố gắng sửa đổi giá trị của bất kỳ thuộc tính không thể thay đổi nào sau đây: 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 tiết lộ một số thông tin nhất định và nhận được sự đồng ý của người dùng cuối ở Liên minh Châu Âu. 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 các buổi 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 buổi phát sóng trực tiếp đang diễn ra. Các tài nguyên và phương thức này hỗ trợ việc truy xuất tin nhắn trò chuyện cũng như chức năng quản trị của cuộc trò chuyện đó.

      Tài nguyên
      liveChatMessage Tài nguyên này biểu thị một tin nhắn trong cuộc trò chuyện trực tiếp trên YouTube. YouTube hỗ trợ một số loại thông báo, bao gồm cả tin nhắn văn bản và sự kiện Tài trợ 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 trò chuyện trực tiếp.
      liveChatModerators Tài nguyên này xác định 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 cuộc 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 người dùng bị cấm đăng tin nhắn lên một cuộc trò chuyện trực tiếp cụ thể. Các 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 sự kiện Tài trợ của người hâm mộ trên 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 ủng hộ các nhà sáng tạo trên YouTube bằng khoản tiền ủng hộ một lần.

      Phương thức fanFundingEvents.list của API liệt kê các sự kiện Tài trợ của người hâm mộ của kênh. Sự kiện Tài trợ của người hâm mộ 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 do kênh sở hữu cũng kích hoạt tin nhắn fanFundingEvent đến cuộc trò chuyện trực tiếp của người hâm mộ đó.

      Tìm hiểu thêm về tính năng Tài trợ của người hâm mộ trong Trung tâm trợ giúp của YouTube.
      sponsors Tài nguyên sponsor xác định 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 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ức sponsors.list của API liệt kê các nhà tài trợ của kênh. Khi người dùng đăng ký tài trợ cho một kênh trong buổi phát sóng trực tiếp do kênh đó sở hữu, API này cũng sẽ thêm thông báo newSponsorEvent vào cuộc trò chuyện trực tiếp của kênh đó.

      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 chứa các thuộc tính mới sau đây:

      Thuộc tính
      snippet.liveChatId Mã cho cuộc trò chuyện trực tiếp trên YouTube của 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á các 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 phụ đề chi tiết có được bật cho chương trình phát sóng của bạn hay không và nếu có, loại phụ đề bạn sẽ cung cấp là gì:
      • closedCaptionsDisabled: Phụ đề bị tắt cho chương trình phát sóng trực tiếp.
      • closedCaptionsHttpPost: Bạn sẽ gửi phụ đề qua HTTP POST tới một URL truyền dẫn liên kết với sự kiện phát trực tiếp của mình.
      • closedCaptionsEmbedded: Phụ đề sẽ được mã hoá trong luồng video bằng các định dạng EIA-608 và/hoặc CEA-708.
      contentDetails.enableClosedCaptions Tài sản này đã ngừng hoạt động 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 các ứng dụng API đang sử dụng thuộc tính này:
      • Việc đặt giá trị thuộc tính thành true tương đương với việc đặt thuộc tính contentDetails.closedCaptionsType thành closedCaptionsHttpPost.
      • Việc đặt giá trị thuộc tính thành false tương đương với việc đặt thuộc tính contentDetails.closedCaptionsType thành closedCaptionsDisabled.
    • Tham số broadcastType mới của phương thức liveBroadcasts.list cho phép bạn lọc phản hồi API để bao gồm các thông báo truyền tin sự kiện, thông báo truyền tin liên tục hoặc tất cả thông báo truyền tin.

      Phát liên tục là sự kiện luôn tồn tại và không gắn với một sự kiện cụ thể. Cụ thể, sự kiện phát sóng mặc định của một kênh là sự kiện phát sóng liên tục và người dùng có thể truy cập vào sự kiện này thông qua Trang tổng quan trực tiếp trong YouTube 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ên liveStream báo cáo các lỗi mới về trạng thái hoạt động:

    Lỗi
    audioTooManyChannels Âm thanh đó có nhiều hơn hai kênh, nhưng chỉ hỗ trợ một (đơn âm) hoặc hai kênh (âm thanh nổi). Vui lòng sửa số lượng 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 %(framerate)s khung hình/giây hoặc thấp hơn.
  • Ngày xuất bản của bản cập nhật tài liệu trước đó đã được sửa lại.

  • 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 được liệt kê ở trên, API này còn hỗ trợ các lỗi mới sau đây:

      Chi tiết về lỗi
      liveBroadcasts.update
      Mã phản hồi HTTPforbidden (403)
      Lý doclosedCaptionsTypeModificationNotAllowed
      Mô tảBạn chỉ có thể sửa đổi giá trị contentDetails.closedCaptionsType khi chương trình phát ở trạng thái created hoặc ready.
      liveBroadcasts.update
      Mã phản hồi HTTPinvalidValue (400)
      Lý doinvalidEnableClosedCaptions
      Mô tảTrong tài nguyên truyền phát trực tiếp, 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 đặt contentDetails.closedCaptionType. Sửa đổi tài nguyên để chỉ bao gồm một trong hai thuộc tính, sau đó 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à phương thức của tài nguyên đó là tài liệu mật và chỉ một số đối tác của YouTube mới có thể xem.

      Tài nguyên liveChat mới chứa một bình luận được đăng trong một buổi phát sóng trực tiếp trên YouTube. API hỗ trợ 2 phương thức cho tài nguyên này:

      Phương thức
      liveChats.list Liệt kê các 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 trò chuyện trực tiếp khi chương trình 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 chứa các thuộc tính mới sau đây:

      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 được liên kết với luồng và không thể xoá được. Hãy xem định nghĩa của thuộc tính để 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 sự cố truyền 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 trực tiếp.

      Đặc biệt, đối tượng status.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, Các vấn đề về cấu hình cho Tài nguyên phát trực tiếp, 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ể sử dụng lại hay không, tức là luồng có thể được liên kết với nhiều tin truyền. Thông thường, các đài truyền hình sẽ sử dụng lại cùng một sự kiện phát trực tiếp cho nhiều nội dung phát sóng nếu những nội dung phát đó diễn ra vào những thời điểm khác nhau.
    • Tài nguyên liveBroadcast chứa các thuộc tính mới sau đây:

      Thuộc tính
      snippet.isDefaultBroadcast Cho biết liệu chương trình phát này có phải là chương trình phát mặc định cho 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 chương trình phát trực tiếp và chương trình phát mặc định cho kênh đó. Sự kiện phát trực tiếp xác định cách chủ sở hữu kênh gửi video trực tiếp đến YouTube và chương trình phát sóng là cách người xem có thể xem sự kiện phát trực tiếp mặc định. Xem định nghĩa của thuộc tính để biết thêm thông tin về cách hoạt động của 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ó được mã hoá để phát trực tiếp có độ trễ thấp hay không. Sự kiện phát trực tiếp có độ trễ thấp có thể giúp giảm thời gian cần thiết để người dùng nhìn thấy video trong lúc 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 của sự kiện đó.
      statistics.totalChatCount Tổng số tin nhắn trò chuyện trực tiếp được liên kết với chương trình phát sóng. Tài sản và giá trị của tài sản sẽ xuất hiện nếu người dùng nhìn thấy sự kiện phát sóng và đã 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 sự kiện phát sóng kết thúc. Vì vậy, tài sản này sẽ không xác định số lượng tin nhắn trò chuyện của một video lưu trữ của một chương trình phát sóng trực tiếp đã kết thúc.
  • 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ợ các lỗi mới sau:

      Chi tiết về lỗi
      liveStreams.update
      Mã phản hồi HTTPforbidden (403)
      Lý doliveStreamModificationNotAllowed
      Mô tảAPI không cho phép bạn thay đổi luồng có thể sử dụng lại thành không thể sử 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ề nội dung phát sóng và luồng

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 video trực tiếp ở tốc độ 60 khung hình/giây (fps), đồng nghĩa với việc phát lại mượt mà hơn khi chơi trò chơi và các video hành động nhanh khác. Khi bạn bắt đầu phát trực tiếp trên YouTube ở tốc độ 60 khung hình/giây, YouTube cũng cung cấp sự kiện đó ở tốc độ 30 khung hình/giây trên những thiết bị chưa hỗ trợ chế độ xem ở tốc độ khung hình cao.

    Thuộc tính cdn.format của tài nguyên liveStream hỗ trợ hai giá trị mới cho tính năng này: 720p_hfr1080p_hfr.

    Hãy xem Blog 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ức liveBroadcasts.control đã được cập nhật để lưu ý rằng giá trị thuộc tính được chỉ định theo đị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 Chi tiết lỗi Mô tả
    insufficientPermissions liveStreamingNotEnabled Tất cả phương thức cho các tài nguyên liveBroadcastliveStream đều trả về lỗi này nếu người dùng đã uỷ quyền yêu cầu API chưa được bật để phát video trực tiếp trên YouTube. Thông tin chi tiết giải thích lý do người dùng không thể phát video trực tiếp có thể xem trong phần cài đặt kênh của người dùng tại https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Cả hai phương thức liveBroadcasts.insertliveStreams.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:

  • Chúng tôi đã cập nhật các mô tả của tài nguyên liveStream và phương thức liveBroadcasts.bind để lưu ý rằng một truyền phát chỉ có thể được liên kết với một luồng video nhưng một luồng video có thể được liên kết với nhiều luồng truyền phát. Thay đổi này chỉ là nội dung sửa đổi cho tài liệu; chức năng cơ bản của API không thay đổi.

  • Thuộc tính contentDetails.monitorStream.enableMonitorStream của tài nguyên liveBroadcast đã đượ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 đổi thông báo truyền phát sang trạng thái testing rồi mới có thể chuyển thông báo đó sang trạng thái live. (Nếu giá trị của thuộc tính là false, thì chương trình phát sóng của bạn không được có giai đoạn testing, do đó bạn có thể chuyển đổi chương trình phát trực tiếp sang trạng thái live.

  • Thuộc tính settings.offsetTimeMs của tài nguyên liveCuepoint đã đượ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ế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ả phương thức cho tài nguyên liveBroadcastliveStream hiện hỗ trợ tham số onBehalfOfContentOwneronBehalfOfContentOwnerChannel. Những thông số này cho phép bạn sử dụng cùng thông tin xác thực uỷ quyền để hoàn tất 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ể thiết lập một giá trị cho thuộc tính settings.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 Chi tiết lỗi Mô tả
    insufficientPermissions livePermissionBlocked Các phương thức liveBroadcasts.insert, liveBroadcasts.transitionliveStreams.insert sẽ trả về lỗi này nếu người dùng đã cho phép yêu cầu không thể phát video trực tiếp trên YouTube. Thông tin chi tiết giải thích lý do người dùng không thể phát video trực tiếp có thể xem 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ức liveBroadcasts.insert đã được cập nhật để làm rõ rằng thời gian bắt đầu đã lên lịch phải đủ gần với ngày hiện tại mà chương trình phát sóng có thể được lên lịch 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ên liveBroadcast xác định trạng thái hiện tại của thông báo truyền tin.

  • Thuộc tính contentDetails.enableClosedCaptions mới của tài nguyên liveBroadcast cho biết liệu có thể truyền dẫn phụ đề cho nội dung 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 chương trình phát sóng, nhưng không thể cập nhật giá trị này khi chương trình phát sóng ở trạng thái testing hoặc live. Nếu bạn thiết lập thuộc tính này thành true, thì tài nguyên liveStream liên kết với chương trình phát sóng sẽ chỉ định URL truyền dẫn để sử dụng cho phụ đề của chương trình phát sóng.

  • Thuộc tính snippet.scheduledEndTime của tài nguyên liveBroadcast hiện hỗ trợ các thông báo truyền tin được lên lịch tiếp tục vô thời hạn. Với thay đổi này, thuộc tính này không còn bắt buộc phải có trong các yêu cầu liveBroadcasts.insertliveBroadcasts.update.

    Nếu bạn truy xuất tài nguyên liveBroadcast không chỉ định giá trị cho thuộc tính này, thì quá trình truyền tin 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ức liveBroadcasts.insert hoặc liveBroadcasts.update và không chỉ định giá trị cho thuộc tính này, quá trình truyền tin sẽ được lên lịch để tiếp tục vô thời hạn.

  • Giờ đây, thuộc tính contentDetails.recordFromStart của tài nguyên liveBroadcast (đã có giá trị mặc định là true) chỉ có thể được đặt thành false nếu kênh phát sóng được phép tắt tính năng ghi lại 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 lại và bạn cố gắng chèn một thông báo truyền tin có thuộc tính recordFromStart được đặt thành false, thì API sẽ trả về lỗi Forbidden. 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 thông báo truyền tin để đặt thuộc tính recordFromStart thành false, thì API sẽ trả về lỗi modificationNotAllowed.

  • Tài nguyên liveBroadcast không còn chứa thuộc tính enableArchive đã được đề cập trong phần mô tả về các thuộc tính contentDetails.enableDvrcontentDetails.enableEmbed.

  • Danh sách các giá trị hợp lệ cho thuộc tính status.lifeCycleStatus của tài nguyên liveBroadcast đã được cập nhật để thê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ên liveCuepoint chỉ định ngày và giờ mà điểm dừng sẽ được chèn. API sẽ trả về lỗi nếu một yêu cầu cố gắng chèn một điểm dừng chỉ định một giá trị cho thuộc tính này và cho thuộc tính settings.offsetTimeMs.

  • Đối tượng contentDetails mới trong tài nguyên liveStream chứa thông tin về luồng. Hiện tại, thuộc tính duy nhất của đối tượng này là contentDetails.closedCaptionsIngestionUrl. Thuộc tính này chỉ định URL truyền dẫn cho phụ đề 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ên liveStream đã được cập nhật để thêm nội dung mô tả về từng trạng thái.

  • Tham số walltime mới của phương thức liveBroadcasts.control cho phép bạn chỉ định ngày và giờ mà thay đổi về phương tiện chặn sẽ xảy ra. API sẽ trả về lỗi nếu yêu cầu chỉ định một giá trị cho tham số này và cho tham số offsetTimeMs.

  • Trong phản hồi của API cho một yêu cầu liveBroadcasts.list, giá trị của thuộc tính kind đã thay đổi từ youtube#liveBroadcastList thành youtube#liveBroadcastListResponse.

  • Trong phản hồi của API cho một yêu cầu liveStreams.list, giá trị của thuộc tính kind đã thay đổi từ youtube#liveStreamList thành youtube#liveStreamListResponse.

  • Cả liveBroadcastListResponseliveStreamListResponse đã ngừng sử dụng thuộc tính eventId.

  • API hỗ trợ các lỗi mới sau đây:

    Loại lỗi Chi tiết lỗi Mô tả
    invalidValue conflictingTimeFields Phương thức liveBroadcasts.control trả về lỗi này nếu yêu cầu của bạn chỉ định giá trị cho tham số offsetTimeMswalltime. Yêu cầu có thể bỏ qua cả hai tham số hoặc chỉ định giá trị cho một trong hai tham số đó.
    invalidValue invalidWalltime Phương thức liveBroadcasts.control 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 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ặc ready.
    invalidValue conflictingTimeFields Phương thức liveCuepoints.insert trả về lỗi này nếu yêu cầu của bạn chỉ định giá trị cho các thuộc tính settings.offsetTimeMssettings.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ỗi cdnRequired tương tự như lỗi mà phương thức liveStreams.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:

Ngày 2 tháng 5 năm 2013

Bản cập nhật này có những thay đổi sau:

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 đã thay đổi trong tài nguyên liveBroadcast:

    • Thuộc tính startWithSlateCuepoint được đổi tên thành startWithSlate.
    • Thuộc tính enableArchive được đổi tên thành recordFromStart.
    • Đối tượng slateSettings không còn được dùng nữa và đã bị xoá khỏi tài liệu. Các thông báo lỗi liên quan đến đối tượng slateSettings hoặc các thuộc tính của đối tượng đó cũng đã bị xoá. Cuối cùng, mục "Hiển thị phương tiện chặn" của hướng dẫn Bắt đầu đã bị xoá.

  • API không còn hỗ trợ khả năng chèn phương tiện chặn trong luồng 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 và hướng dẫn về Vòng đời của thông báo truyền tin 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ên liveCuepoint không còn hỗ trợ slate dưới dạng một giá trị thuộc tính. (Giá trị duy nhất được hỗ trợ là ad.

    • Thuộc tính settings.eventState của tài nguyên liveCuepoint không còn đượ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 này đều đã được cập nhật để giải thích rõ hơn về những lỗi có thể xảy ra và đưa ra hướng dẫn về cách khắc phục (nếu có thể).

  • API hiện 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 theo lịch của chương trình phát sóng phải sau thời gian bắt đầu đã lên lịch.
    • liveBroadcasts.insert – Thông báo chỉ định trạng thái bảo mậ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ính contentDetails.enableArchive.
    • liveBroadcasts.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính contentDetails.enableContentEncryption.
    • liveBroadcasts.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính contentDetails.enableDvr.
    • liveStreams.insert – Tiêu đề đ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ính snippet.title.

  • Tài liệu về tài nguyên liveStream đã được cập nhật để phản ánh rằng các phương thức nhập phát đa hướng và WebM không được hỗ trợ như đã nêu trước đó. Danh sách định dạng cho thuộc tính cdn.format đã được cập nhật tương ứng và đối tượng cdn.multicastIngestionInfo cùng 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ợ.