Nhật ký sửa đổi

Trang này liệt kê các thay đổi và nội dung cập nhật tài liệu của YouTube Data API (v3). Đăng ký nhận nhật ký thay đổi này. Đăng ký

Ngày 30 tháng 10 năm 2024

API này hiện hỗ trợ khả năng xác định những video chứa nội dung chân thực đã được chỉnh sửa hoặc giả tạo (A/S). Tìm hiểu thêm về các chính sách của YouTube liên quan đến nội dung sửa chữa và bảo dưỡng.

Ví dụ về nội dung A/S bao gồm những video:

  • Có hình ảnh người thật có vẻ như nói và làm điều gì đó, nhưng trên thực thế là họ không làm như vậy
  • Chỉnh sửa cảnh quay của một sự kiện hoặc địa điểm có thật
  • Tạo ra một cảnh trông giống thật nhưng không thực sự xảy ra

Để cho biết liệu một video có chứa nội dung A/S hay không, hãy đặt thuộc tính status.containsSyntheticMedia. Bạn có thể đặt thuộc tính này khi gọi phương thức videos.insert hoặc videos.update. Nếu được đặt, thuộc tính này sẽ được trả về trong tài nguyên video.

Ngày 30 tháng 4 năm 2024

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

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

API này không còn hỗ trợ tính năng chèn hoặc truy xuất nội dung thảo luận của kênh nữa. Thay đổi này phù hợp với chức năng được hỗ trợ trên trang web YouTube. Trang web này không hỗ trợ việc đăng bình luận trên kênh.

Ngày 13 tháng 3 năm 2024

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

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

Tham số sync cho phương thức captions.insertcaptions.update đã ngừng hoạt động. Kể từ ngày 12 tháng 4 năm 2024, YouTube sẽ ngừng hỗ trợ tham số này.

Do sự thay đổi này, nhà phát triển phải thêm thông tin về thời gian khi chèn hoặc cập nhật phụ đề. Nếu không, quá trình tải lên sẽ không thành công.

Ngày 12 tháng 3 năm 2024

Bản cập nhật này bao gồm các thay đổi sau:

Tài liệu về tài nguyên captions đã được cập nhật để lưu ý rằng độ dài tối đa được phép cho trường snippet.name là 150 ký tự. API sẽ trả về lỗi nameTooLong nếu tên bản nhạc dài hơn.

Ngày 7 tháng 3 năm 2024

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Thuộc tính tài nguyên channel brandingSettings.channel.moderateComments không được dùng nữa. YouTube sẽ ngừng hỗ trợ thông số này kể từ ngày 7 tháng 3 năm 2024.

Ngày 31 tháng 1 năm 2024

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

Tham số forHandle mới của phương thức channels.list cho phép bạn truy xuất thông tin về một kênh bằng cách chỉ định tên người dùng YouTube của kênh đó.

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

Mọi tham chiếu đến tài nguyên videoId trong Comments đã bị xoá vì tài nguyên videoId không được trả về qua lệnh gọi API.

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

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Phương thức comments.markAsSpam không được dùng nữa trong vài năm. Phương thức này hiện không được hỗ trợ trên YouTube và không còn được hỗ trợ thông qua API.

Thông báo về việc ngừng sử dụng đã được thêm vào tất cả tài liệu tham chiếu đến phương thức comments.markAsSpam.

Ngày 22 tháng 8 năm 2023

Phương thức search.list hiện hỗ trợ tham số videoPaidProductPlacement. Tham số này cho phép bạn lọc kết quả tìm kiếm để chỉ bao gồm những video mà nhà sáng tạo đã cho biết là có nội dung được trả tiền để quảng cáo.

Ngày 18 tháng 8 năm 2023

Chúng tôi đã cập nhật định nghĩa của liveStreamingDetails.concurrentViewers của tài nguyên video để lưu ý rằng số người xem đồng thời mà YouTube Data API trả về có thể khác với số người xem đồng thời đã được xử lý và loại bỏ nội dung rác thông qua YouTube Analytics. Trung tâm trợ giúp của YouTube cung cấp thêm thông tin về các chỉ số của sự kiện phát trực tiếp.

Ngày 7 tháng 8 năm 2023

Như đã thông báo vào ngày 12 tháng 6 năm 2023, tham số relatedToVideoId của phương thức search.list không được dùng nữa. Tham số đó không còn được hỗ trợ và các tham chiếu đến tham số đó đã bị xoá khỏi tài liệu về API.

Ngày 28 tháng 6 năm 2023

Phương thức thumbnails.set hiện hỗ trợ lỗi uploadRateLimitExceeded. Lỗi này cho biết rằng kênh đã tải lên quá nhiều hình thu nhỏ trong 24 giờ qua và bạn nên thử lại sau.

Ngày 12 tháng 6 năm 2023

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Thông số relatedToVideoId của phương thức search.list không còn được dùng nữa. YouTube sẽ ngừng hỗ trợ thông số này kể từ ngày 7 tháng 8 năm 2023.

Hiện tại, thông báo về việc ngừng sử dụng đã được thêm vào tài liệu về phương thức search.list. Tham số này sẽ bị xoá hoàn toàn khỏi tài liệu search.list kể từ ngày 7 tháng 8 năm 2023.

Ngoài ra, một ví dụ minh hoạ cách truy xuất video có liên quan đã bị xoá khỏi hướng dẫn triển khai API.

Ngày 22 tháng 8 năm 2022

Sửa chú thích loại cho các trường video.statistics thành chuỗi từ long chưa ký.

Ngày 5 tháng 8 năm 2022

YouTube đã thay đổi cách tạo mã phụ đề. Theo đó, YouTube cũng đã chỉ định mã phụ đề mới cho mọi phụ đề. Thay đổi này có thể là một thay đổi không tương thích ngược đối với các ứng dụng lưu trữ giá trị caption_id, mặc dù thay đổi này sẽ không ảnh hưởng đến các ứng dụng không lưu trữ giá trị caption_id.

Từ nay đến ngày 1 tháng 12 năm 2022, các phương thức captions.list, captions.update, captions.downloadcaptions.delete sẽ hỗ trợ cả mã nhận dạng phụ đề cũ và mới. Tuy nhiên, từ ngày 1 tháng 12 năm 2022, YouTube sẽ ngừng hỗ trợ các mã phụ đề cũ. Khi đó, việc gọi bất kỳ phương thức API nào trong số đó bằng mã nhận dạng bản phụ đề cũ sẽ dẫn đến lỗi captionNotFound.

Để chuẩn bị cho sự thay đổi này, bạn nên lên kế hoạch thay thế hoàn toàn mọi dữ liệu bản phụ đề được lưu trữ từ nay đến ngày 1 tháng 12 năm 2022. Điều này có nghĩa là đối với mọi video mà bạn lưu trữ dữ liệu của bản lồng tiếng, bạn nên xoá dữ liệu hiện đang được lưu trữ, sau đó gọi phương thức captions.list để truy xuất tập hợp bản lồng tiếng hiện tại cho video và lưu trữ dữ liệu trong phản hồi API như bình thường.

Ngày 12 tháng 7 năm 2022

Chúng tôi đã cập nhật Điều khoản dịch vụ của Dịch vụ API YouTube. 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.

Ngày 27 tháng 4 năm 2022

Nội dung mô tả phương thức videos.insert đã được cập nhật để lưu ý rằng kích thước tệp tối đa cho video được tải lên đã tăng từ 128 GB lên 256 GB.

Ngày 8 tháng 4 năm 2022

Cả hai định nghĩa tham số myRecentSubscribersmySubscribers của phương thức subscriptions.list đều đã được cập nhật để lưu ý rằng số lượng người đăng ký tối đa mà API trả về có thể bị giới hạn. Thay đổi này là nội dung sửa đổi tài liệu chứ không phải thay đổi về hành vi của API.

Ngày 15 tháng 12 năm 2021

Như đã thông báo vào ngày 18 tháng 11 năm 2021, cùng với các thay đổi về việc đặt số lượt không thích video ở chế độ riêng tư trên toàn bộ nền tảng YouTube, thuộc tính statistics.dislikeCount của tài nguyên video hiện đã chuyển sang chế độ riêng tư.

Bạn có thể tìm hiểu thêm về sự thay đổi này trên blog chính thức của YouTube.

Ngày 18 tháng 11 năm 2021

Cùng với những thay đổi để không hiển thị công khai số lượt không thích video trên toàn bộ nền tảng YouTube, thuộc tính statistics.dislikeCount của tài nguyên video sẽ chuyển sang chế độ riêng tư kể từ ngày 13 tháng 12 năm 2021. Điều này có nghĩa là thuộc tính này sẽ chỉ được đưa vào phản hồi API từ điểm cuối videos.list nếu chủ sở hữu video xác thực yêu cầu API.

Thay đổi này không ảnh hưởng đến điểm cuối videos.rate.

Những nhà phát triển không hiện công khai số lượt không thích nhưng vẫn cần có số lượt không thích cho ứng dụng API của họ có thể đăng ký để được đưa vào danh sách cho phép được miễn trừ. Để đăng ký miễn trừ, bạn phải hoàn tất biểu mẫu đăng ký này.

Bạn có thể tìm hiểu thêm về sự thay đổi này trên blog chính thức của YouTube.

Ngày 2 tháng 7 năm 2021

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Điểm cuối commentThreads.update đã ngừng hoạt động và không còn được hỗ trợ nữa. Chức năng nhân bản của điểm cuối này được cung cấp thông qua các điểm cuối API khác. Thay vào đó, bạn có thể gọi comments.update

và nếu mã của bạn yêu cầu tài nguyên commentThreads, hãy thực hiện lệnh gọi phụ đến phương thức commentThreads.list.

Ngày 1 tháng 7 năm 2021

Tất cả nhà phát triển sử dụng Dịch vụ API của YouTube đều phải hoàn tất quy trình Kiểm tra mức độ tuân thủ API để được cấp nhiều hơn hạn mức mặc định là 10.000 đơn vị. Cho đến nay, các nhà phát triển đều đã thực hiện cả quy trình kiểm tra việc tuân thủ và các yêu cầu phân bổ thêm đơn vị hạn mức trong việc điền và gửi Biểu mẫu kiểm tra và tăng hạn mức cho Dịch vụ API YouTube.

Để làm rõ các quy trình này và đáp ứng tốt hơn nhu cầu của nhà phát triển sử dụng Dịch vụ API của chúng tôi, chúng tôi sẽ thêm 3 biểu mẫu mới và hướng dẫn để hoàn tất các biểu mẫu đó:

  • Biểu mẫu yêu cầu dành cho nhà phát triển đã được kiểm tra: Những nhà phát triển đã vượt qua quy trình Kiểm tra việc tuân thủ API có thể điền và gửi biểu mẫu ngắn hơn này để yêu cầu gia hạn hạn mức đã phân bổ.
  • Biểu mẫu khiếu nại: Những nhà phát triển có dự án API không vượt qua quy trình kiểm tra mức độ tuân thủ (hoặc bị từ chối tăng đơn vị định mức) có thể điền và gửi biểu mẫu này.
  • Biểu mẫu thay đổi quyền kiểm soát: Nhà phát triển hoặc bất kỳ bên nào vận hành ứng dụng API thay mặt cho nhà phát triển, trải qua sự thay đổi quyền kiểm soát (ví dụ: thông qua việc mua hoặc bán cổ phiếu, sáp nhập hoặc hình thức giao dịch công ty khác) liên quan đến một dự án API phải điền và gửi biểu mẫu này. Việc này giúp nhóm API của YouTube cập nhật hồ sơ, kiểm tra việc tuân thủ trường hợp sử dụng của dự án API mới và xác thực mức phân bổ hạn mức hiện tại của nhà phát triển.

Mỗi biểu mẫu mới sẽ cho chúng tôi biết mục đích sử dụng API của YouTube của bạn và giúp chúng tôi hỗ trợ bạn tốt hơn.

Bạn có thể xem thêm thông tin chi tiết trong hướng dẫn mới của chúng tôi về quy trình Kiểm tra việc tuân thủ API.

Ngày 12 tháng 5 năm 2021

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Bản cập nhật này bao gồm các thay đổi sau đây về API:

  • Thuộc tính contentDetails.relatedPlaylists.favorites của tài nguyên channel không được dùng nữa. Chức năng Video yêu thích đã ngừng hoạt động trong vài năm, như đã nêu trong mục nhật ký sửa đổi ngày 28 tháng 4 năm 2016.

    Trước lần cập nhật này, API vẫn sẽ tạo danh sách phát mới nếu ứng dụng API cố gắng thêm video vào danh sách phát yêu thích không tồn tại. Từ giờ trở đi, danh sách phát sẽ không được tạo trong trường hợp này và API sẽ trả về lỗi. Tất cả các nỗ lực sửa đổi danh sách phát yêu thích bằng cách thêm, sửa đổi hoặc xoá các mục cũng không còn được dùng nữa theo thông báo trước đó và có thể bắt đầu trả về lỗi bất cứ lúc nào.

  • Các thuộc tính tài nguyên channel sau đây đã ngừng hoạt động. Những tài sản này không được hỗ trợ trong giao diện người dùng của YouTube Studio và trên YouTube. Do đó, các tính năng này cũng không còn được hỗ trợ qua API nữa.

    • brandingSettings.channel.defaultTab
    • brandingSettings.channel.featuredChannelsTitle
    • brandingSettings.channel.featuredChannelsUrls[]
    • brandingSettings.channel.profileColor
    • brandingSettings.channel.showBrowseView
    • brandingSettings.channel.showRelatedChannels

    Tất cả thuộc tính đã bị xoá khỏi biểu diễn tài nguyên channel và định nghĩa của những thuộc tính đó cũng đã bị xoá khỏi danh sách thuộc tính của tài nguyên đó. Ngoài ra, các lỗi liên quan đến những thuộc tính này đã bị xoá khỏi tài liệu dành riêng cho từng phương thức.

  • Các thuộc tính tài nguyên channelSection sau đây đã ngừng hoạt động. Những tài sản này không được hỗ trợ trong giao diện người dùng của YouTube Studio và trên YouTube. Do đó, chúng cũng không còn được hỗ trợ thông qua API.

    • snippet.style
    • snippet.defaultLanguage
    • snippet.localized.title
    • localizations
    • localizations.(key)
    • localizations.(key).title
    • targeting
    • targeting.languages[]
    • targeting.regions[]
    • targeting.countries[]

    Cùng với thay đổi này, thông số hl của phương thức channelSection.list cũng không còn được dùng nữa vì các tính năng mà thông số này hỗ trợ không được hỗ trợ.

    Tất cả thuộc tính đã bị xoá khỏi biểu diễn tài nguyên channelSection và định nghĩa của những thuộc tính đó cũng đã bị xoá khỏi danh sách thuộc tính của tài nguyên đó. Ngoài ra, các lỗi liên quan đến những thuộc tính này đã bị xoá khỏi tài liệu dành riêng cho từng phương thức.

  • Đối với thuộc tính snippet.type của tài nguyên channelSection, các giá trị sau không còn được dùng nữa. Những giá trị này vốn không được hỗ trợ trên các trang kênh YouTube nên cũng không còn được hỗ trợ thông qua API nữa.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • Thuộc tính snippet.tags[] của tài nguyên playlist không còn được dùng nữa. Thuộc tính này hiện không được hỗ trợ trên YouTube nên không còn được hỗ trợ thông qua API nữa.

Ngày 9 tháng 2 năm 2021

Tài nguyên playlistItem hỗ trợ hai thuộc tính mới:

Ngày 28 tháng 1 năm 2021

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

  • Các phương thức playlistItems.delete, playlistItems.insert, playlistItems.list, playlistItems.update, playlists.delete, playlists.listplaylists.update đều hỗ trợ lỗi playlistOperationUnsupported mới. Lỗi này xảy ra khi một yêu cầu cố gắng thực hiện một thao tác không được phép đối với một danh sách phát cụ thể. Ví dụ: người dùng không thể xoá một video khỏi danh sách phát video đã tải lên hoặc xoá chính danh sách phát đó.

    Trong mọi trường hợp, lỗi này sẽ trả về mã phản hồi HTTP 400 (Yêu cầu không hợp lệ).

  • Các lỗi watchHistoryNotAccessiblewatchLaterNotAccessible của phương thức playlistItems.list đã bị xoá khỏi tài liệu. Mặc dù thực sự không thể truy cập nhật ký xem và danh sách xem sau của người dùng qua API, nhưng API không trả về những lỗi cụ thể này.

Ngày 15 tháng 10 năm 2020

Chúng tôi đã thêm hai mục mới vào Chính sách dành cho nhà phát triển:

  • Mục III.E.4.i mới cung cấp thêm thông tin về dữ liệu được thu thập và gửi qua trình phát được nhúng của YouTube. Bạn chịu trách nhiệm về mọi dữ liệu người dùng mà bạn gửi cho chúng tôi qua trình phát được nhúng của YouTube trước khi người dùng tương tác với trình phát để cho biết ý định phát. Bạn có thể giới hạn dữ liệu được chia sẻ với YouTube trước khi người dùng tương tác với trình phát bằng cách đặt tính năng Tự động phát thành false.
  • Mục III.E.4.j mới liên quan đến việc kiểm tra trạng thái Nội dung dành cho trẻ em (MFK) của nội dung trước khi nhúng nội dung đó trên trang web và ứng dụng của bạn. Bạn có trách nhiệm biết khi nào các video mà bạn nhúng vào Ứng dụng API là dành cho trẻ em và xem xét dữ liệu thu thập được từ trình phát được nhúng cho phù hợp. Do đó, bạn phải kiểm tra trạng thái của nội dung bằng Dịch vụ API Dữ liệu YouTube trước khi nhúng nội dung đó vào Ứng dụng API thông qua bất kỳ trình phát được nhúng nào của YouTube.

Hướng dẫn mới về Cách tìm trạng thái video dành cho trẻ em giải thích cách tra cứu trạng thái MFK của một video bằng Dịch vụ API dữ liệu của YouTube.

Cùng với những thay đổi này, chúng tôi đã thêm lời nhắc vào tài liệu về Thông số trình phát được nhúng để giải thích rằng nếu bạn bật tính năng Tự động phát, thì quá trình phát sẽ diễn ra mà người dùng không cần tương tác với trình phát. Do đó, hoạt động thu thập và chia sẻ dữ liệu sẽ diễn ra khi trang tải.

Ngày 8 tháng 10 năm 2020

Bản cập nhật này bao gồm 3 thay đổi nhỏ liên quan đến tài nguyên channel:

  • Đối tượng snippet.thumbnails giúp xác định hình thu nhỏ của một kênh có thể trống đối với các kênh mới tạo và có thể mất đến một ngày để điền dữ liệu.
  • Thuộc tính statistics.videoCount chỉ phản ánh số lượng video công khai của kênh, ngay cả đối với chủ sở hữu. Hành vi này phù hợp với số lượng đăng trên trang web YouTube.
  • Từ khoá của kênh được xác định trong thuộc tính brandingSettings.channel.keywords có thể bị cắt bớt nếu vượt quá độ dài tối đa cho phép là 500 ký tự hoặc nếu chứa dấu ngoặc kép không được thoát ("). Xin lưu ý rằng giới hạn 500 ký tự không phải là giới hạn cho mỗi từ khoá mà là giới hạn về tổng độ dài của tất cả từ khoá. Hành vi này nhất quán với hành vi trên trang web YouTube.

Ngày 9 tháng 9 năm 2020

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Bản cập nhật này bao gồm các thay đổi sau đây về API. Tất cả thay đổi sẽ có hiệu lực từ ngày 9 tháng 9 năm 2020 (ngày phát hành thông báo này). Do đó, nhà phát triển không nên tiếp tục dựa vào bất kỳ tính năng API nào được liệt kê dưới đây.

  • Các tài nguyên, phương thức, thông số và thuộc tính tài nguyên API sau đây không còn được dùng nữa và sẽ ngừng hoạt động kể từ ngày thông báo này:
    • Các thuộc tính tài nguyên channel sau đây:
      • Thuộc tính statistics.commentCount
      • Đối tượng brandingSettings.image và tất cả thuộc tính con của đối tượng đó
      • Danh sách brandingSettings.hints và tất cả thuộc tính con của danh sách này
    • Tham số bộ lọc categoryId của phương thức channels.list
    • Tài nguyên guideCategories và phương thức guideCategories.list
  • Các phản hồi của API cho phương thức channels.list không còn chứa thuộc tính prevPageToken nếu yêu cầu API đặt tham số managedByMe thành true. Thay đổi này không ảnh hưởng đến thuộc tính prevPageToken cho các yêu cầu channels.list khác và không ảnh hưởng đến thuộc tính nextPageToken cho bất kỳ yêu cầu nào.
  • Các thuộc tính contentDetails.relatedPlaylists.watchLatercontentDetails.relatedPlaylists.watchHistory của tài nguyên channel đều được thông báo là không dùng nữa vào ngày 11 tháng 8 năm 2016. Giờ đây, phương thức playlistItems.insert và phương thức playlistItems.delete hỗ trợ các danh sách phát này cũng không còn được dùng nữa, đồng thời 2 thuộc tính này cũng đã bị xoá khỏi tài liệu.
  • Tham số mySubscribers của phương thức channels.list, được thông báo là không còn được dùng nữa vào ngày 30 tháng 7 năm 2013, đã bị xoá khỏi tài liệu. Sử dụng phương thức subscriptions.list và tham số mySubscribers của phương thức này để truy xuất danh sách người đăng ký kênh của người dùng đã xác thực.
  • Đối tượng invideoPromotion của tài nguyên channel và tất cả các thuộc tính con của tài nguyên đó được thông báo là không dùng nữa vào ngày 27 tháng 11 năm 2017, đã bị xoá khỏi tài liệu.

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

Chúng tôi đã đơn giản hoá quy trình tính hạn mức cho các yêu cầu API bằng cách xoá chi phí bổ sung liên quan đến tham số part. Có hiệu lực ngay lập tức, chúng tôi sẽ chỉ tính chi phí cơ bản cho phương thức được gọi. Bạn có thể tìm thêm thông tin về hạn mức đơn giản tại đây.

Tác động của thay đổi này là hầu hết các lệnh gọi API sẽ có chi phí hạn mức thấp hơn một chút, trong khi một số lệnh gọi API vẫn sẽ có cùng chi phí. Thay đổi này không làm tăng chi phí của bất kỳ lệnh gọi API nào. Nhìn chung, tác động có thể xảy ra là hạn mức được phân bổ của bạn (có thể xem trong Google Cloud Console) sẽ tăng thêm một chút.

Tất cả nhà phát triển đều nên hoàn tất quy trình kiểm tra mức độ tuân thủ cho các dự án của mình để đảm bảo tiếp tục có quyền truy cập vào Dịch vụ API YouTube.

Mục nhập nhật ký sửa đổi này được xuất bản lần đầu vào ngày 20 tháng 7 năm 2020.

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

Tất cả video được tải lên thông qua điểm cuối videos.insert từ các dự án API chưa được xác minh được tạo sau ngày 28 tháng 7 năm 2020 sẽ bị hạn chế ở chế độ xem riêng tư. Để gỡ bỏ quy định hạn chế này, mỗi dự án phải trải qua quy trình kiểm tra để xác minh việc tuân thủ Điều khoản dịch vụ.

Những nhà sáng tạo dùng ứng dụng API chưa được xác minh để tải video lên sẽ nhận được email giải thích rằng video của họ bị khoá ở chế độ riêng tư và họ có thể tránh bị hạn chế bằng cách dùng một ứng dụng chính thức hoặc ứng dụng đã được kiểm tra.

Thay đổi này hiện không ảnh hưởng đến các dự án API được tạo trước ngày 28 tháng 7 năm 2020. Tuy nhiên, tất cả nhà phát triển đều nên hoàn tất quy trình kiểm tra việc tuân thủ cho các dự án của họ để đảm bảo có thể tiếp tục truy cập vào Dịch vụ API YouTube.

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

[Cập nhật ngày 28 tháng 7 năm 2020.] Nội dung cập nhật tài liệu được dẫn chiếu trong mục nhật ký sửa đổi này đã được xuất bản lại vào ngày 28 tháng 7 năm 2020.

Hôm qua, chúng tôi đã phát hành tài liệu cập nhật liên quan đến quy trình tính hạn mức. Tuy nhiên, do một số tình huống không lường trước được, thay đổi về hạn mức này chưa có hiệu lực. Do đó, tài liệu đó đã được huỷ bỏ để đảm bảo tính chính xác. Để tránh gây nhầm lẫn, mục nhập trong nhật ký sửa đổi giải thích về thay đổi này đã bị xoá và sẽ được xuất bản lại trong thời gian sắp tới.

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

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

Các tham số autoLevelsstabilize của phương thức videos.insert hiện không được dùng nữa và cả hai tham số này đã bị xoá khỏi tài liệu. Giá trị của các biến đó sẽ bị bỏ qua và không ảnh hưởng đến cách xử lý video mới tải lên.

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

Hướng dẫn mới về Tuân thủ Chính sách dành cho nhà phát triển của YouTube cung cấp hướng dẫn và ví dụ để giúp bạn đảm bảo rằng ứng dụng API của mình tuân thủ các phần cụ thể trong Điều khoảnChính sách của Dịch vụ API YouTube (Điều khoản dịch vụ của API).

Hướng dẫn này cung cấp thông tin chi tiết về cách YouTube thực thi một số khía cạnh của Thoả thuận dịch vụ của API, nhưng không thay thế bất kỳ tài liệu hiện có nào. Hướng dẫn này sẽ giải đáp một số câu hỏi phổ biến nhất mà các nhà phát triển đặt ra trong quá trình kiểm tra việc tuân thủ API. Chúng tôi hy vọng tài liệu này sẽ giúp bạn đơn giản hoá quy trình phát triển tính năng bằng cách giúp bạn hiểu cách chúng tôi diễn giải và thực thi chính sách.

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

Lưu ý: Đây là bản cập nhật cho một thông báo trước đó về việc ngừng sử dụng.

Tính năng bản tin kênh hiện đã ngừng hoạt động hoàn toàn. Thay đổi này được công bố lần đầu vào ngày 17 tháng 4 năm 2020 và hiện đã có hiệu lực. Do đó, phương thức activities.insert không còn được hỗ trợ và phương thức activities.list không còn trả về các bản tin trên kênh nữa. Để biết thêm thông tin chi tiết, vui lòng tham khảo Trung tâm trợ giúp của YouTube.

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

Lưu ý: Đây là thông báo về việc ngừng sử dụng.

YouTube sẽ ngừng sử dụng tính năng bản tin trên kênh. Do đó, phương thức activities.insert sẽ không được dùng nữa và phương thức activities.list sẽ ngừng trả về các bản tin kênh. Những thay đổi này sẽ có hiệu lực trong API kể từ ngày 18 tháng 5 năm 2020. Để biết thêm thông tin chi tiết, vui lòng tham khảo Trung tâm trợ giúp của YouTube.

Ngày 31 tháng 3 năm 2020

Bản cập nhật này bao gồm các thay đổi sau:

  • Các tài nguyên và phương thức mới

    • Tài nguyên member mới đại diện cho một hội viên của kênh YouTube. Hội viên hỗ trợ nhà sáng tạo bằng tiền định kỳ và nhận được các lợi ích đặc biệt. Ví dụ: hội viên có thể trò chuyện khi nhà sáng tạo bật chế độ trò chuyện chỉ dành cho hội viên.

      Tài nguyên này thay thế tài nguyên sponsor được ghi nhận là một phần của API Phát trực tiếp trên YouTube. Tài nguyên sponsor hiện không được dùng nữa và ứng dụng API phải 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.

    • Tài nguyên membershipsLevel mới xác định một cấp giá do nhà sáng tạo quản lý và đã cho phép yêu cầu API. Phương thức membershipsLevels.list truy xuất danh sách tất cả cấp độ hội viên của nhà sáng tạo.

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 channelvideo 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 kênh hay video là dành cho trẻ em.

    Đối với các kênh, bạn có thể đặt thuộc tính này khi gọi phương thức channels.update. Đối với video, bạn có thể đặt thuộc tính này khi gọi phương thức videos.insert hoặc videos.update.

    Xin lưu ý rằng tài sản này chỉ có trong các phản hồi của API chứa tài nguyên channel hoặc video nếu chủ sở hữu kênh đã cho phép gửi yêu cầu API.
  • Thuộc tính madeForKids cho phép mọi người dùng truy xuất trạng thái "dành cho trẻ em" của một kênh hoặc video. 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 sự kiện phát trực tiếp của bạn.

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. Các 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 10 tháng 9 năm 2019

Tài liệu tham khảo về API đã được cập nhật để phản ánh sự thay đổi về cách báo cáo số người đăng ký trên YouTube và do đó, trong các phản hồi API. Do sự thay đổi này, số người đăng ký mà Dịch vụ YouTube Data API trả về sẽ được làm tròn xuống còn 3 con số quan trọng đối với số người đăng ký lớn hơn 1.000 người đăng ký. Thay đổi này ảnh hưởng đến thuộc tính statistics.subscriberCount của tài nguyên channel.

Lưu ý: Thay đổi này ảnh hưởng đến giá trị tài sản này ngay cả trong trường hợp người dùng gửi một yêu cầu được uỷ quyền về dữ liệu về kênh của chính họ. Chủ sở hữu kênh vẫn có thể xem số người đăng ký chính xác trong YouTube Studio.

Ví dụ: Nếu một kênh có 123.456 người đăng ký, thì thuộc tính statistics.subscriberCount sẽ chứa giá trị 123000. Bảng dưới đây cho thấy ví dụ về cách làm tròn số người đăng ký trong các phản hồi của API và được viết tắt trong các giao diện người dùng YouTube hiển thị công khai khác:

Ví dụ về số người đăng ký API Dữ liệu YouTube Giao diện người dùng hiển thị công khai trên YouTube
1.234 1230 1,23 N
12,345 12300 12,3 N
123.456 123000 123 N
1.234.567 1230000 1,23 TR
12.345.678 12300000 12,3 TR
123.456.789 123000000 123 TR

Ngày 4 tháng 4 năm 2019

Bản cập nhật này bao gồm các 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 pháp và để cung cấp các mã mẫu động, chất lượng cao thông qua tiện ích APIs Explorer. Hãy xem tài liệu ví dụ về phương thức channels.list. Hiện có hai phần tử mới trên các trang mô tả các phương thức API:

    • Tiện ích APIs 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 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 hiển thị các mã mẫu hoàn chỉnh. Các mã 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 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 của phương thức được giải thích trên trang. Ví dụ: bạn có thể gọi phương thức channels.list để truy xuất dữ liệu về một kênh cụ thể hoặc để truy xuất dữ liệu về kênh 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 sẵn các giá trị mẫu cho trường hợp sử dụng của mình vào Trình khám phá API 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.

    Mã mẫu hiện được hỗ trợ cho Java, JavaScript, PHP, Python và curl.

  • Công cụ mã mẫu cũng đã được cập nhật với một giao diện người dùng mới cung cấp tất 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 để lấy các mẫu mã trong 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ẫu mã có sẵn cho Java, JavaScript, PHP và Python đã bị xoá.

  • Chúng tôi đã cập nhật hướng dẫn nhanh cho Java, JavaScript, PHPPython. Hướng dẫn sửa đổi giải thích cách chạy một mẫu bằng khoá API và một mẫu khác bằng mã ứng dụng OAuth 2.0 bằng cách sử dụng các mẫu mã từ Trình khám phá API.

Xin lưu ý rằng các thay đổi được mô tả ở trên sẽ thay thế một công cụ tương tác đã được thêm vào tài liệu API vào năm 2017.

Ngày 9 tháng 7 năm 2018

Bản cập nhật này bao gồm các thay đổi sau:

  • Định nghĩa về thuộc tính snippet.thumbnails của tài nguyên channel đã được cập nhật để lưu ý rằng khi hiển thị hình thu nhỏ trong ứng dụng, mã của bạn phải sử dụng đúng URL hình ảnh như được trả về trong phản hồi API. Ví dụ: ứng dụng của bạn không được sử dụng miền http thay vì miền https trong URL được trả về trong phản hồi API.

    Kể từ tháng 7 năm 2018, URL hình thu nhỏ của kênh sẽ chỉ có trong miền https, tức là cách URL xuất hiện trong các phản hồi của API. Sau thời gian đó, bạn có thể thấy hình ảnh bị hỏng trong ứng dụng của mình nếu ứng dụng cố gắng tải hình ảnh trên YouTube từ miền http.

  • Lưu ý: Đây là thông báo về việc ngừng sử dụng.

    Thuộc tính recordingDetails.location.altitude của tài nguyên video không còn được dùng nữa. Chúng tôi không đảm bảo rằng video sẽ trả về các giá trị cho thuộc tính này. Tương tự, ngay cả khi các yêu cầu API cố gắng đặt một giá trị cho tài sản đó, thì có thể dữ liệu nhận được sẽ không được lưu trữ.

Ngày 22 tháng 6 năm 2018

Chúng tôi đã cập nhật Hướng dẫn triển khai (trước đây là Hướng dẫn triển khai và di chuyển) để xoá hướng dẫn di chuyển từ API phiên bản 2 sang API phiên bản 3. Ngoài ra, chúng tôi cũng đã xoá hướng dẫn đối với các tính năng đã ngừng hoạt động trong API v3 (chẳng hạn như video yêu thích).

Ngày 27 tháng 11 năm 2017

Bản cập nhật này bao gồm các thay đổi sau:

  • Lưu ý: Đây là thông báo về việc ngừng sử dụng.

    YouTube sẽ ngừng hỗ trợ các tính năng Video nổi bậtTrang web nổi bật được hỗ trợ trong API thông qua đối tượng invideoPromotion của tài nguyên channel. Do đó, đối tượng đó, bao gồm cả tất cả các thuộc tính con của đối tượng đó, sẽ không được dùng nữa.

    Bạn vẫn có thể truy xuất và đặt dữ liệu invideoPromotion cho đến hết ngày 14 tháng 12 năm 2017. Sau ngày đó:

    • Hệ thống sẽ cố gắng truy xuất phần invideoPromotion khi gọi channels.list sẽ trả về một invideoPromotion trống hoặc hoàn toàn không trả về dữ liệu invideoPromotion.
    • Các nỗ lực cập nhật dữ liệu invideoPromotion khi gọi channels.update sẽ trả về phản hồi thành công cho đến ít nhất là ngày 27 tháng 5 năm 2018, nhưng các nỗ lực này sẽ được coi là không hoạt động, nghĩa là chúng sẽ không thực sự thực hiện cập nhật.

    Sau ngày 27 tháng 5 năm 2018, các yêu cầu này có thể trả về thông báo lỗi để cho biết, ví dụ: invalidPromotion là một phần không hợp lệ.

Ngày 16 tháng 11 năm 2017

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

  • Công cụ đoạn mã tương tác hiện hỗ trợ các mẫu mã Node.js. Các mẫu này cũng xuất hiện trong tài liệu về hầu hết mọi phương thức API, chẳng hạn như phương thức channels.list.

    Các mẫu có thể tuỳ chỉnh được thiết kế để cung cấp cho bạn điểm bắt đầu cho ứng dụng Node.js theo từng trường hợp sử dụng cụ thể. Chức năng này tương tự như mã trong hướng dẫn bắt đầu nhanh Node.js. Tuy nhiên, các mẫu này có chứa một số hàm hiệu dụng không xuất hiện trong phần bắt đầu nhanh:

    • Hàm removeEmptyParameters lấy danh sách cặp khoá-giá trị tương ứng với các tham số yêu cầu API và xoá các tham số không có giá trị.
    • Hàm createResource nhận danh sách các cặp khoá-giá trị tương ứng với các thuộc tính trong tài nguyên API. Sau đó, công cụ này chuyển đổi các thuộc tính thành đối tượng JSON có thể dùng trong các toán tử insertupdate. Ví dụ bên dưới cho thấy một tập hợp tên và giá trị thuộc tính cũng như đối tượng JSON mà mã sẽ tạo cho các thuộc tính đó:
      # Key-value pairs:
      {'id': 'ABC123',
       'snippet.title': 'Resource title',
       'snippet.description': 'Resource description',
       'status.privacyStatus': 'private'}
      
      # JSON object:
      {
       'id': 'ABC123',
       'snippet': {
         'title': 'Resource title',
         'description': 'Resource description',
       },
       'status': {
         'privacyStatus': 'private'
       }
      }

    Tất cả các mẫu này đều được thiết kế để tải xuống và chạy cục bộ. Để biết thêm thông tin, hãy xem các điều kiện tiên quyết để chạy toàn bộ mã mẫu trên máy trong hướng dẫn sử dụng công cụ đoạn mã.

Ngày 25 tháng 10 năm 2017

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

  • Các mã mẫu Python trong công cụ đoạn mã tương tác đã được cập nhật để sử dụng thư viện google-authgoogle-auth-oauthlib thay vì thư viện oauth2client (hiện đã ngừng hoạt động).

    Ngoài thay đổi đó, công cụ này hiện cung cấp mã mẫu đầy đủ cho các ứng dụng Python đã cài đặt và ứng dụng máy chủ web Python sử dụng các quy trình uỷ quyền hơi khác. Để xem toàn bộ mẫu (và thay đổi này):

    1. Chuyển đến công cụ đoạn mã tương tác hoặc tài liệu về bất kỳ phương thức API nào, chẳng hạn như phương thức channels.list.
    2. Nhấp vào thẻ Python ở phía trên các mã mẫu.
    3. Nhấp vào nút bật/tắt phía trên các thẻ để chuyển từ trạng thái xem một đoạn trích sang đoạn trích đầy đủ.
    4. Giờ đây, thẻ này sẽ hiển thị một mẫu mã hoàn chỉnh sử dụng quy trình uỷ quyền InstalledAppFlow. Phần mô tả ở trên mẫu giải thích điều này và cũng liên kết đến một mẫu dành cho ứng dụng máy chủ web.
    5. Hãy nhấp vào đường liên kết để chuyển sang ví dụ về máy chủ web. Mẫu đó sử dụng khung ứng dụng web Flask và một quy trình uỷ quyền khác.

    Tất cả các mẫu này đều được thiết kế để tải xuống và chạy cục bộ. Nếu bạn muốn chạy các mẫu, hãy xem hướng dẫn chạy toàn bộ mẫu mã trên máy trong hướng dẫn về công cụ đoạn mã.

Ngày 29 tháng 8 năm 2017

Bản cập nhật này bao gồm các thay đổi sau:

  • Định nghĩa của tham số forContentOwner của phương thức search.list đã được cập nhật để lưu ý rằng nếu tham số đó được đặt thành true, thì tham số type phải được đặt thành video.
  • Chúng tôi đã cập nhật định nghĩa về tham số regionCode của phương thức search.list để làm rõ rằng tham số này chỉ giới hạn kết quả tìm kiếm ở những video có thể xem ở khu vực đã chỉ định.
  • YouTube đã cập nhật biểu trưng và biểu tượng thương hiệu. Bạn có thể tải các biểu trưng mới có tên "được phát triển cùng YouTube" xuống từ trang nguyên tắc ghi nhãn. Các biểu trưng và biểu tượng mới khác của YouTube cũng sẽ hiển thị trên trang đó và bạn có thể tải xuống từ trang web thương hiệu YouTube.

Ngày 24 tháng 7 năm 2017

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

  • Chúng tôi đã phát hành hướng dẫn bắt đầu nhanh mới về API Dữ liệu YouTube dành cho iOS. Hướng dẫn này giải thích cách sử dụng YouTube Data API trong một ứng dụng iOS đơn giản được viết bằng Mục tiêu-C hoặc Swift.
  • Công cụ đoạn mã tương tác cho YouTube Data API hiện đã có tài liệu giải thích một số tính năng của công cụ này:
    • Thực thi các yêu cầu API
    • Chuyển đổi giữa các đoạn mã và mã mẫu đầy đủ
    • Sử dụng hàm nguyên mẫu
    • Tải tài nguyên hiện có (dành cho phương thức cập nhật)

    Lưu ý: Công cụ này cũng được nhúng trong tài liệu tham khảo API cho các phương thức API (ví dụ).

Ngày 1 tháng 6 năm 2017

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

  • Lưu ý: Đây là thông báo về việc ngừng sử dụng.

    Các thuộc tính tài nguyên video sau đây sẽ không được dùng nữa. Mặc dù các thuộc tính sẽ được hỗ trợ cho đến ngày 1 tháng 12 năm 2017, nhưng chúng tôi không đảm bảo rằng video sẽ tiếp tục trả về giá trị cho các thuộc tính đó cho đến thời điểm đó. Tương tự, các yêu cầu videos.insertvideos.update đặt các giá trị thuộc tính đó sẽ không tạo ra lỗi trước ngày đó, nhưng có thể dữ liệu sắp tới sẽ không được lưu trữ.

Ngày 17 tháng 5 năm 2017

Bản cập nhật này bao gồm các thay đổi sau:

  • Tài liệu tham khảo API đã được cập nhật để giúp các đoạn mã phổ biến và có tính tương tác hơn. Các trang giải thích các phương thức API, như channels.list hoặc videos.rate, hiện có một công cụ tương tác cho phép bạn xem và tuỳ chỉnh các đoạn mã trong Java, JavaScript, PHP, Python, Ruby, Apps Script và Go.

    Đối với phương thức nhất định bất kỳ, công cụ này hiển thị các đoạn mã cho một hoặc nhiều trường hợp sử dụng và mỗi trường hợp sử dụng sẽ mô tả một cách phổ biến để gọi phương thức đó. Ví dụ: bạn có thể gọi phương thức channels.list để truy xuất dữ liệu về một kênh cụ thể hoặc về kênh của người dùng hiện tại.

    Bạn cũng có thể tương tác với mã mẫu:

    • Sửa đổi giá trị tham số và thuộc tính, các đoạn mã sẽ tự động cập nhật để phản ánh giá trị bạn cung cấp.

    • Chuyển đổi giữa đoạn mã và mẫu đầy đủ. Đoạn mã cho thấy phần mã gọi phương thức API. Mẫu đầy đủ chứa đoạn mã đó cũng như mã nguyên mẫu để uỷ quyền và gửi yêu cầu. Bạn có thể sao chép và chạy các mẫu đầy đủ từ dòng lệnh hoặc máy chủ web cục bộ.

    • Thực hiện yêu cầu bằng cách nhấp vào một nút. (Để thực thi các yêu cầu, bạn cần phải cho phép công cụ thay mặt bạn gọi API.)

    Xin lưu ý rằng công cụ này đã thay thế Trình khám phá API trên các trang có công cụ này. (Mỗi trang sẽ hiển thị một đường liên kết để bạn cũng có thể tải yêu cầu mà bạn đang thực hiện trong APIs Explorer.)

  • Công cụ Đoạn mã API dữ liệu cũng đã được cập nhật với giao diện người dùng mới cung cấp tất cả tính năng tương tự như mô tả ở trên. Các tính năng mới chính có trên trang này là:

    • Hỗ trợ các yêu cầu API ghi dữ liệu.
    • Hỗ trợ các mẫu Java.
    • Mã nguyên mẫu linh hoạt và toàn diện hơn để uỷ quyền cho người dùng và tạo yêu cầu API.

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

Bản cập nhật này bao gồm các thay đổi sau:

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

Bản cập nhật này bao gồm các thay đổi sau:

  • Thuộc tính topicDetails.topicCategories[] mới của tài nguyên channel chứa danh sách các URL của Wikipedia mô tả nội dung của kênh. Các URL tương ứng với mã chủ đề được trả về trong thuộc tính topicDetails.topicIds[] của tài nguyên.
  • Thuộc tính contentDetails.videoPublishedAt mới của tài nguyên playlistItem xác định thời điểm video được xuất bản lên YouTube. Tài nguyên này đã chứa thuộc tính snippet.publishedAt. Thuộc tính này giúp xác định thời điểm thêm một mục vào danh sách phát.
  • Giống như tài nguyên channel, tài nguyên video hiện trả về thuộc tính topicDetails.topicCategories[]. Thuộc tính này chứa danh sách URL của Wikipedia mô tả nội dung của video. Đối với tài nguyên video, URL tương ứng với mã chủ đề được trả về trong thuộc tính topicDetails.relevantTopicIds[] của tài nguyên đó.
  • Thuộc tính contentDetails.contentRating.mpaatRating mới của tài nguyên video xác định mức phân loại mà Hiệp hội Điện ảnh Hoa Kỳ đưa ra cho một đoạn giới thiệu hoặc bản xem trước phim.

Ngày 27 tháng 2 năm 2017

Như thông báo ban đầu vào ngày 11 tháng 8 năm 2016, YouTube đã chuyển danh sách ID chủ đề được hỗ trợ thành một danh sách tuyển chọn. Danh sách đầy đủ các mã chủ đề được hỗ trợ có trong thuộc tính topicDetails cho các tài nguyên channelvideo cũng như trong tham số topicId của phương thức search.list.

Lưu ý rằng có một số thay đổi đối với danh sách đã chọn:

  • Các chủ đề sau đã được thêm làm chủ đề phụ của Society:
    Tênmã chủ đề
    Doanh nghiệp/m/09s1f
    Sức khỏe/m/0kt51
    Quân đội/m/01h6rj
    Chính trị/m/05qt0
    Tôn giáo/m/06bvp
  • Chủ đề Animated cartoon, trước đây là một phần tử con của Entertainment, đã bị xoá.
  • Chủ đề Children's music, trước đây là một phần tử con của Music, đã bị xoá.

Do sự thay đổi này, giờ đây, các chủ đề liên quan đến một video sẽ luôn được trả về trong giá trị thuộc tính topicDetails.relevantTopicIds[] của tài nguyên video.

Ngày 29 tháng 11 năm 2016

Bản cập nhật này bao gồm các thay đổi sau:

  • Có ba thay đổi nhỏ đối với danh sách mã chủ đề sẽ được hỗ trợ kể từ ngày 10 tháng 2 năm 2017:

    • Danh mục Professional wrestling, trước đây là danh mục con của danh mục Sports, hiện là danh mục con của Entertainment.
    • Danh mục TV shows (là một phần tử con của Entertainment) là mới.
    • Danh mục Health, trước đây là một phần tử con của Lifestyle, đã bị xoá.

    Ngoài ra, xin lưu ý rằng có một số danh mục mẹ (Entertainment, Gaming, Lifestyle, MusicSports). Bất kỳ video nào được liên kết với danh mục con, chẳng hạn như Tennis, cũng sẽ được liên kết với danh mục mẹ (Sports).

Ngày 10 tháng 11 năm 2016

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

  • Như thông báo lần đầu vào ngày 11 tháng 8 năm 2016, việc ngừng sử dụng Freebase và API Freebase đòi hỏi một số thay đổi liên quan đến ID chủ đề. Mã chủ đề xác định các chủ đề liên kết với tài nguyên channelvideo. Bạn cũng có thể sử dụng thông số tìm kiếm topicId để tìm các kênh hoặc video liên quan đến một chủ đề cụ thể.

    Kể từ ngày 10 tháng 2 năm 2017, YouTube sẽ bắt đầu trả về một nhóm nhỏ mã chủ đề thay vì nhóm mã chi tiết hơn nhiều như hiện tại. Ngoài ra, xin lưu ý rằng các kênh và video không được đảm bảo sẽ liên kết với bất kỳ chủ đề nào, điều này nhất quán với hành vi hiện tại của API.

    Để bạn có thể chuẩn bị cho các Ứng dụng API của mình cho những thay đổi đó, định nghĩa về các tham số và thuộc tính API sau đây đã được cập nhật để liệt kê những mã chủ đề sẽ được hỗ trợ sau thời điểm đó. Xin lưu ý rằng danh sách danh mục giống nhau cho tất cả các cơ sở lưu trú.

  • Lưu ý: Đây là thông báo về việc ngừng sử dụng.

    Các thuộc tính sau đây không còn được dùng nữa:

    • Thuộc tính topicDetails.topicIds[] của tài nguyên channel. Chúng tôi sẽ hỗ trợ thuộc tính này cho đến hết ngày 10 tháng 11 năm 2017.
    • Thuộc tính topicDetails.relevantTopicIds[] của tài nguyên video. Thuộc tính này sẽ được hỗ trợ đến hết ngày 10 tháng 11 năm 2017.
    • Thuộc tính topicDetails.topicIds[] của tài nguyên video. Thuộc tính này sẽ không chứa giá trị sau ngày 10 tháng 2 năm 2017. (Sau ngày đó, giá trị thuộc tính topicDetails.relevantTopicIds[] sẽ xác định tất cả chủ đề liên kết với một video.)

  • Vì Freebase đã ngừng hoạt động nên hướng dẫn Tìm kiếm bằng chủ đề Freebase đã bị xoá khỏi tài liệu. Hướng dẫn đó cung cấp các mã mẫu để cho thấy cách một ứng dụng hoạt động với API Freebase.

    Ngoài ra, một số mã mẫu liên quan đến mã nhận dạng chủ đề đã bị xoá khỏi tài liệu của phương thức search.list.

Ngày 2 tháng 11 năm 2016

Bản cập nhật này bao gồm các thay đổi sau:

  • Các thuộc tính và thông số mới

    • Tài nguyên video chứa một số thuộc tính mới:

      • Thuộc tính player.embedHtml chứa thẻ <iframe> mà bạn có thể dùng để nhúng trình phát phát video. Các thuộc tính player.embedHeightplayer.embedWidth mới xác định kích thước của trình phát được nhúng. Các thuộc tính này chỉ được trả về nếu yêu cầu API chỉ định giá trị cho ít nhất một trong các tham số maxHeight hoặc maxWidth. Hai tham số mới đó được giải thích ở phần sau trong mục nhật ký sửa đổi này.

      • Thuộc tính hasCustomThumbnail mới cho biết liệu người tải video lên có cung cấp hình thu nhỏ tuỳ chỉnh cho video hay không. Xin lưu ý rằng chỉ người tải video lên mới thấy tài sản này.

      • fpbRatingReasons[] mới xác định lý do video nhận được mức phân loại của FPB (Nam Phi).

      • mcstRating mới xác định mức phân loại mà video nhận được tại Việt Nam.

    • Phương thức videos.list hỗ trợ hai tham số mới là maxHeightmaxWidth. Bạn có thể sử dụng một trong hai tham số hoặc cả hai tham số khi truy xuất phần player trong tài nguyên video.

      Theo mặc định, chiều cao của <iframe> được trả về trong thuộc tính player.embedHtml là 360px. Chiều rộng sẽ điều chỉnh cho phù hợp với tỷ lệ khung hình của video, nhờ đó đảm bảo rằng trình phát được nhúng không có các thanh màu đen đóng khung video. Ví dụ: nếu tỷ lệ khung hình của video là 16:9, thì chiều rộng của trình phát sẽ là 640px.

      Với các tham số mới, bạn có thể chỉ định rằng thay vì kích thước mặc định, mã nhúng phải sử dụng chiều cao và/hoặc chiều rộng phù hợp với bố cục ứng dụng của bạn. Máy chủ API điều chỉnh tỷ lệ kích thước của trình phát sao cho phù hợp để đảm bảo trình phát được nhúng không có các thanh màu đen đóng khung video. Xin lưu ý rằng cả hai tham số này đều chỉ định kích thước tối đa của trình phát được nhúng. Do đó, nếu bạn chỉ định cả hai tham số, thì một phương diện vẫn có thể nhỏ hơn số lượng tối đa được phép cho phương diện đó.

      Ví dụ: giả sử một video có tỷ lệ khung hình 16:9. Do đó, thẻ player.embedHtml sẽ chứa trình phát 640x360 nếu bạn không đặt tham số maxHeight hoặc maxWidth.

      • Nếu bạn đặt tham số maxHeight thành 720 và không đặt tham số maxWidth, thì API sẽ trả về trình phát 1280x720.
      • Nếu bạn đặt tham số maxWidth thành 960 và không đặt tham số maxHeight, thì API sẽ trả về một trình phát có kích thước 960x540.
      • Nếu tham số maxWidth được đặt thành 960 và tham số maxHeight được đặt thành 450, thì API sẽ trả về một trình phát có kích thước 800x450.

      Các thuộc tính player.embedHeightplayer.embedWidth mới (như mô tả ở trên) xác định kích thước của trình phát.

  • Nội dung cập nhật đối với các phương thức, thuộc tính và tham số hiện có

    • Chúng tôi đã cập nhật nội dung mô tả về tài nguyên channelSection để lưu ý rằng một kênh có thể tạo tối đa 10 kệ mà không cần thiết lập dữ liệu nhắm mục tiêu, đồng thời có thể tạo tối đa 100 kệ có dữ liệu nhắm mục tiêu.

      Ngoài ra, thuộc tính targeting của tài nguyên channelSection đã được cập nhật để phản ánh việc bạn chỉ có thể đặt các tuỳ chọn nhắm mục tiêu bằng API. Tùy chọn nhắm mục tiêu bị xóa nếu phần kênh được sửa đổi bằng cách sử dụng giao diện người dùng trên trang web YouTube.

    • Định nghĩa về thuộc tính snippet.name của tài nguyên i18nLanguage đã được sửa để phản ánh rằng giá trị này đại diện cho tên của một ngôn ngữ như được viết bằng ngôn ngữ được chỉ định bằng tham số hl của phương thức i18nLanguage.list.

    • Thuộc tính contentDetails.note của tài nguyên playlistItem đã được cập nhật để lưu ý rằng độ dài tối đa của giá trị thuộc tính là 280 ký tự.

    • Các thuộc tính contentDetails.startAtcontentDetails.endAt của tài nguyên playlistItem không còn được dùng nữa. Các trường này sẽ bị bỏ qua nếu được đặt trong các yêu cầu playlistItems.insert hoặc playlistItems.update.

    • Phương thức playlistItems.deleteplaylistItems.update hiện hỗ trợ tham số onBehalfOfContentOwner, tham số này đã được hỗ trợ cho một số phương thức khác. Các yêu cầu dùng phương thức đó cũng cần được uỷ quyền bằng mã thông báo cấp quyền truy cập vào phạm vi https://www.googleapis.com/auth/youtubepartner.

    • Cả hai tham số publishedBeforepublishedAfter của phương thức search.list đều đã được cập nhật để cho biết rằng các giá trị tham số này đã được đưa vào. Vì vậy, chẳng hạn như nếu tham số publishedBefore được đặt, API sẽ trả về các tài nguyên được tạo trước hoặc tại thời điểm được chỉ định.

    • Thuộc tính contentDetails.contentRating.grfilmRating của tài nguyên video hỗ trợ ba giá trị bổ sung: grfilmK12, grfilmK15grfilmK18.

    • Nội dung mô tả phương thức videos.insert đã được cập nhật để lưu ý rằng kích thước tệp tối đa cho video tải lên đã tăng từ 64 GB lên 128 GB.

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

    • API này hỗ trợ các lỗi mới sau:

      Loại lỗi Thông tin chi tiết về lỗi Mô tả
      forbidden (403) homeParameterDeprecated Phương thức activities.list trả về lỗi này để cho biết rằng không có dữ liệu hoạt động trên trang chủ của người dùng thông qua API này. Lỗi này có thể xảy ra nếu bạn đặt tham số home thành true trong một yêu cầu trái phép.
      invalidValue (400) invalidContentDetails Phương thức playlistItems.insert trả về lỗi này để cho biết đối tượng contentDetails trong yêu cầu không hợp lệ. Một lý do khiến lỗi này xảy ra là trường contentDetails.note dài hơn 280 ký tự.
      forbidden (403) watchHistoryNotAccessible Phương thức playlistItems.list trả về lỗi này để cho biết rằng yêu cầu đã cố truy xuất các mục trong danh sách phát "nhật ký xem", nhưng các mục đó không thể truy xuất được bằng API.
      forbidden (403) watchLaterNotAccessible Phương thức playlistItems.list trả về lỗi này để cho biết yêu cầu đã cố truy xuất các mục trong danh sách phát "xem sau", nhưng các mục đó không truy xuất được bằng API.
      badRequest (400) uploadLimitExceeded Phương thức videos.insert trả về lỗi này để cho biết rằng kênh đã vượt quá số lượng video mà kênh có thể tải lên.
      forbidden (403) forbiddenEmbedSetting Phương thức videos.update trả về lỗi này để cho biết yêu cầu API tìm cách đặt chế độ cài đặt nhúng không hợp lệ cho video. Xin lưu ý rằng một số kênh có thể không có quyền cung cấp trình phát được nhúng cho sự kiện phát trực tiếp. Hãy tham khảo Trung tâm trợ giúp của YouTube để biết thêm thông tin.
    • Phương thức playlistItems.insert không còn trả về lỗi nữa nếu bạn chèn video trùng lặp vào danh sách phát. Lỗi này trước đây từng xảy ra với một số danh sách phát (chẳng hạn như danh sách video yêu thích) không cho phép video trùng lặp nhưng hiện không còn được hỗ trợ nữa. Nhìn chung, danh sách phát cho phép video trùng lặp.

  • Nội dung cập nhật khác

    • Mục nhật ký sửa đổi vào ngày 15 tháng 9 năm 2016 đã được cập nhật để làm rõ rằng bất cứ khi nào thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel được đưa vào phản hồi, các thuộc tính này luôn chứa giá trị HLWL tương ứng. Hơn nữa, những thuộc tính đó chỉ được đưa vào nếu người dùng được uỷ quyền đang truy xuất dữ liệu về kênh của chính người dùng đó.

Ngày 15 tháng 9 năm 2016

Bản cập nhật này bao gồm các thay đổi sau:

  • Bản cập nhật lịch sử sửa đổi ngày 11 tháng 8 năm 2016 đã thảo luận một số thay đổi liên quan đến ID chủ đề, bao gồm cả việc bộ ID chủ đề được hỗ trợ sẽ thay đổi kể từ ngày 10 tháng 2 năm 2017. Danh sách các chủ đề được hỗ trợ sẽ được công bố trước ngày 10 tháng 11 năm 2016.

  • Những thay đổi sau đây hiện đã có hiệu lực. Thông báo về những thay đổi này được đưa ra trong bản cập nhật lịch sử sửa đổi vào ngày 11 tháng 8 năm 2016:

    • Nếu phương thức activities.list được gọi với tham số home được đặt thành true, thì phản hồi API hiện sẽ chứa các mục tương tự như nội dung mà người dùng YouTube đã đăng xuất sẽ thấy trên trang chủ.

      Đây là một thay đổi nhỏ nhằm cung cấp trải nghiệm người dùng tốt hơn so với hành vi được mô tả trong bản cập nhật lịch sử sửa đổi vào ngày 11 tháng 8 năm 2016. Bản cập nhật đó đã nêu rõ rằng các yêu cầu sử dụng tham số home sẽ trả về một danh sách trống.

    • Thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel hiện chứa các giá trị HLWL tương ứng cho tất cả các kênh.

      Xin lưu ý rằng chỉ người dùng được uỷ quyền truy xuất dữ liệu về kênh của chính họ mới thấy được các thuộc tính này. Các thuộc tính luôn chứa các giá trị HLWL, ngay cả đối với người dùng được uỷ quyền truy xuất dữ liệu về kênh riêng của người dùng đó. Do đó, bạn không thể truy xuất nhật ký xem và mã danh sách phát xem sau qua API.

      Ngoài ra, các yêu cầu truy xuất thông tin chi tiết về danh sách phát (playlists.list) hoặc mục trong danh sách phát (playlistItems.list) cho danh sách xem sau hoặc danh sách video đã xem của một kênh hiện sẽ trả về danh sách trống. Hành vi này đúng với các giá trị mới, HLWL, cũng như với mọi danh sách phát xem sau hoặc danh sách xem đã lưu mà Ứng dụng API của bạn có thể đã lưu trữ.

  • Đối tượng fileDetails.recordingLocation của tài nguyên video và các thuộc tính con của đối tượng đó không còn được trả về nữa. Trước đây, chỉ chủ sở hữu video mới có thể truy xuất dữ liệu này (chẳng hạn như đối tượng fileDetails gốc).

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 xuất bản của Dịch vụ API YouTube ("Điều khoản đã cập nhật") được thảo luận chi tiết trên Blog Nhà phát triển và Kỹ thuật của YouTube, cung cấp một loạt nội dung cập nhật phong phú cho Điều khoản dịch vụ hiện tại. Ngoài Điều khoản mới 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 bao gồm một số tài liệu hỗ trợ để giải thích các chính sách mà nhà phát triển phải tuân thủ.

    Toàn bộ bộ tài liệu mới được mô tả trong nhật ký sửa đổi của Điều khoản mới cập nhật. Ngoài ra, những thay đổi trong tương lai đối với Điều khoản đã cập nhật 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ý nguồn cấp dữ liệu RSS liệt kê các thay đổi trong nhật ký sửa đổi đó qua một đường liên kết trong tài liệu đó.

  • Việc Freebase và Freebase API ngừng hoạt động gây ra một số thay đổi liên quan đến mã chủ đề. Mã chủ đề được dùng trong các tài nguyên và phương thức API sau:

    • Phần topicDetails của tài nguyên channel xác định các chủ đề liên quan đến kênh.
    • Phần topicDetails của tài nguyên video xác định các chủ đề có liên quan đến video.
    • Tham số topicId của phương thức search.list cho phép bạn tìm kiếm video hoặc kênh có liên quan đến một chủ đề cụ thể.

    Những thay đổi đối với các tính năng này như sau:

    • Kể từ ngày 10 tháng 2 năm 2017, YouTube sẽ bắt đầu trả về một tập hợp nhỏ các mã chủ đề thay vì một tập hợp mã chi tiết hơn nhiều được trả về từ trước đến nay. Tập hợp các chủ đề được hỗ trợ đó sẽ xác định các danh mục cấp cao như Thể thao hoặc Bóng rổ, nhưng chẳng hạn như chúng sẽ không xác định các đội hoặc cầu thủ cụ thể. Chúng tôi sẽ công bố danh sách các chủ đề được hỗ trợ để bạn có thời gian chuẩn bị ứng dụng cho sự thay đổi này.

    • Bạn có thể sử dụng mọi mã chủ đề Freebase để tìm nội dung cho đến hết ngày 10 tháng 2 năm 2017. Tuy nhiên, sau thời điểm đó, bạn chỉ có thể sử dụng nhóm chủ đề nhỏ hơn được xác định trong mục trước để truy xuất kết quả tìm kiếm theo chủ đề.

    • Sau ngày 10 tháng 2 năm 2017, nếu bạn tìm kiếm kết quả bằng mã chủ đề không có trong nhóm nhỏ mã chủ đề được hỗ trợ, thì API sẽ trả về một tập hợp kết quả trống.

  • Một số trường và tham số API sẽ không được dùng nữa kể từ ngày 12 tháng 9 năm 2016:

    • Tham số home của phương thức activities.list cho phép người dùng được uỷ quyền truy xuất nguồn cấp dữ liệu hoạt động sẽ hiển thị trên trang chủ YouTube cho người dùng đó. Các yêu cầu sử dụng tham số này sau ngày 12 tháng 9 năm 2016 sẽ trả về danh sách trống.

    • Chỉ người dùng được uỷ quyền truy xuất dữ liệu về kênh của chính họ mới thấy được các thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel. Sau ngày 12 tháng 9 năm 2016, contentDetails.relatedPlaylists.watchHistory sẽ trả về giá trị HL và thuộc tính contentDetails.relatedPlaylists.watchLater sẽ trả về giá trị WL cho tất cả các kênh.

      Các yêu cầu truy xuất thông tin chi tiết về danh sách phát (playlists.list) cho danh sách xem sau hoặc danh sách xem của một kênh sẽ trả về danh sách trống sau ngày 12 tháng 9 năm 2016. Sau thời điểm đó, yêu cầu truy xuất các mục trong danh sách phát (playlistItems.list) ở một trong các danh sách phát đó cũng sẽ trả về danh sách trống. Điều này đúng với các giá trị mới, HLWL, cũng như đối với mọi mã danh sách phát xem sau hoặc danh sách phát xem trước đó mà Ứng dụng API của bạn có thể đã lưu trữ.

    • Đối tượng fileDetails.recordingLocation của tài nguyên video hoặc bất kỳ thuộc tính con nào của tài nguyên đó sẽ không còn được trả về sau ngày 12 tháng 9 năm 2016. Chỉ chủ sở hữu video mới có thể truy xuất dữ liệu này vì chỉ chủ sở hữu video mới có thể truy xuất đối tượng fileDetails mẹ.

Ngày 13 tháng 6 năm 2016

Bản cập nhật này bao gồm các thay đổi sau:

  • Thuộc tính contentDetails.googlePlusUserId của tài nguyên channel không được dùng nữa. Trước đây, thuộc tính chỉ xuất hiện nếu kênh được liên kết với hồ sơ trên Google+. Sau khi chúng tôi ngừng sử dụng thuộc tính này, thuộc tính này sẽ không còn xuất hiện trong bất kỳ tài nguyên channel nào nữa.

  • Thuộc tính snippet.authorGoogleplusProfileUrl của tài nguyên comment không được dùng nữa. Trước đây, thuộc tính chỉ xuất hiện nếu kênh được liên kết với hồ sơ trên Google+. Sau khi chúng tôi ngừng sử dụng thuộc tính này, thuộc tính này sẽ không còn xuất hiện trong bất kỳ tài nguyên comment nào nữa.

Vì không có thuộc tính nào trong số này được trả về sau khi ngừng sử dụng nên cả hai thuộc tính đều đã bị xoá khỏi tài liệu về tài nguyên tương ứng.

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

Bản cập nhật này bao gồm các thay đổi sau:

  • Tham số myRecentSubscribers mới của phương thức subscriptions.list truy xuất danh sách người đăng ký của kênh của người dùng đã xác thực theo thứ tự thời gian đảo ngược từ thời điểm họ đăng ký kênh.

    Xin lưu ý rằng tham số mới chỉ hỗ trợ truy xuất 1.000 người đăng ký gần đây nhất đối với kênh của người dùng đã xác thực. Để truy xuất danh sách đầy đủ những người đăng ký, hãy dùng tham số mySubscribers. Tham số này không trả về số người đăng ký theo thứ tự cụ thể và không giới hạn số lượng người đăng ký có thể truy xuất.

  • Chúng tôi đã cập nhật định nghĩa của thuộc tính snippet.thumbnails.(key) cho các tài nguyên hoạt động, playlistItem, danh sách phát, kết quả tìm kiếm, hình thu nhỏvideo. Xin lưu ý rằng kích thước hình thu nhỏ bổ sung chỉ áp dụng cho một số video.

    • Hình ảnh standard rộng 640px và cao 480px.
    • Hình ảnh maxres có chiều rộng 1280px và chiều cao 720px.
  • Định nghĩa của tham số part của phương thức channelSection.list đã được cập nhật để lưu ý rằng bạn có thể truy xuất phần targeting với chi phí là 2 đơn vị hạn mức.

  • Phương thức videos.list hiện trả về lỗi forbidden (403) (bị cấm) khi một yêu cầu được uỷ quyền không đúng cách cố gắng truy xuất các phần fileDetails, processingDetails hoặc suggestions của tài nguyên video. Chỉ chủ sở hữu video mới xem được những phần đó.

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

Công cụ Đoạn mã Data API mới cung cấp các đoạn mã ngắn cho các trường hợp sử dụng phổ biến của Data API YouTube. Đoạn mã hiện có sẵn cho tất cả các phương thức API chỉ đọc trong Apps Script, Go, JavaScript, PHP, Python và Ruby.

Đối với mỗi phương thức, công cụ này sẽ hiển thị mã mẫu cho một hoặc nhiều trường hợp sử dụng. Ví dụ: tài liệu này cung cấp 5 đoạn mã cho phương thức search.list:

  • Liệt kê video theo từ khoá
  • Liệt kê video theo vị trí
  • Liệt kê sự kiện trực tiếp
  • Tìm kiếm video của người dùng đã xác thực
  • Liệt kê các video có liên quan

Đối với mỗi trường hợp sử dụng, công cụ sẽ hiển thị các thông số được sử dụng trong yêu cầu API. Bạn có thể sửa đổi các giá trị thông số, trong trường hợp đó, công cụ sẽ cập nhật các đoạn mã để phản ánh các giá trị thông số mà bạn đã cung cấp.

Cuối cùng, công cụ này sẽ hiển thị phản hồi của API cho từng yêu cầu. Nếu bạn đã sửa đổi các tham số yêu cầu, thì phản hồi của API sẽ dựa trên các giá trị tham số mà bạn cung cấp. Xin lưu ý rằng bạn cần phải cho phép công cụ thay mặt bạn gửi yêu cầu để phản hồi của API hiển thị.

Ngày 28 tháng 4 năm 2016

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

  • Thuộc tính contentDetails.projection mới của tài nguyên video chỉ định định dạng chiếu của video. Các giá trị thuộc tính hợp lệ là 360rectangular.

  • Cả hai thuộc tính recordingDetails.locationfileDetails.recordingLocation của tài nguyên video đều được cập nhật để giải thích sự khác biệt giữa 2 thuộc tính:

    • Thuộc tính recordingDetails.location xác định vị trí mà chủ sở hữu video muốn liên kết với video. Người dùng có thể chỉnh sửa, tìm kiếm thông tin vị trí này trên các video công khai và có thể hiển thị cho người dùng trong các video công khai.
    • Giá trị thuộc tính fileDetails.recordingLocation là không thể thay đổi và đại diện cho vị trí liên kết với tệp video gốc đã tải lên. Chỉ chủ sở hữu video mới nhìn thấy giá trị này.

  • Chúng tôi đã cập nhật định nghĩa của thuộc tính contentDetails.relatedPlaylists.favorites của tài nguyên channel để lưu ý rằng giá trị thuộc tính có thể chứa mã danh sách phát tham chiếu đến một danh sách phát trống và không thể tìm nạp. Điều này là do chức năng video yêu thích đã ngừng hoạt động. Xin lưu ý rằng thuộc tính này không tuân theo chính sách ngừng sử dụng API.

  • Định nghĩa về lỗi ineligibleAccount (có thể được phương thức comments.insert, comments.update, commentThreads.insert hoặc commentThreads.update trả về) đã được cập nhật để phản ánh rằng lỗi này xảy ra khi tài khoản YouTube dùng để uỷ quyền yêu cầu API chưa được hợp nhất với tài khoản Google của người dùng.

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

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

  • Định nghĩa của tham số part của phương thức channels.update đã được cập nhật để lưu ý rằng localizations cũng là một giá trị hợp lệ cho tham số đó.

  • Phần Sử dụng hạn mức trong hướng dẫn Bắt đầu đã được cập nhật để liên kết với Bảng điều khiển dành cho nhà phát triển của Google. Tại đây, bạn có thể xem hạn mức và hạn mức sử dụng thực tế của mình.

Ngày 16 tháng 3 năm 2016

Bản cập nhật này bao gồm các 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ó

    • Tài liệu về tài nguyên channelBanner đã được cập nhật để lưu ý rằng kích thước đề xuất cho ảnh biểu ngữ kênh tải lên là 2560px x 1440px. Kích thước tối thiểu (2048px x 1152px) không thay đổi.

    • Thuộc tính snippet.customUrl mới của tài nguyên channel xác định URL tuỳ chỉnh được liên kết với kênh. (Không phải kênh nào cũng có URL tuỳ chỉnh.) Trung tâm trợ giúp YouTube giải thích điều kiện để nhận URL tuỳ chỉnh cũng như cách thiết lập URL.

    • Đối tượng brandingSettings.watch của tài nguyên channel và tất cả thuộc tính con của đối tượng này không còn được dùng nữa.

    • Phản hồi của API cho yêu cầu search.list hiện chứa thuộc tính regionCode. Thuộc tính xác định mã vùng được sử dụng cho truy vấn tìm kiếm. Mã vùng hướng dẫn API trả về kết quả tìm kiếm cho quốc gia đã chỉ định.

      Giá trị thuộc tính là một mã quốc gia gồm hai chữ cái theo tiêu chuẩn ISO xác định khu vực. Phương thức i18nRegions.list trả về danh sách các khu vực được hỗ trợ. Giá trị mặc định là US. Nếu bạn chỉ định một khu vực không được hỗ trợ, YouTube vẫn có thể chọn một khu vực khác thay vì giá trị mặc định để xử lý truy vấn.

    • Định nghĩa về các thuộc tính snippet.labelsnippet.secondaryReasons[].label của tài nguyên videoAbuseReportReason đã được cập nhật để lưu ý rằng các thuộc tính này chứa văn bản nhãn đã bản địa hoá vì lý do báo cáo hành vi sai trái.

      Ngoài ra, phương thức videoAbuseReportReasons.list hiện hỗ trợ tham số hl. Tham số này chỉ định ngôn ngữ cần dùng cho văn bản nhãn trong phản hồi của API. Giá trị tham số mặc định là en_US.

    • Thuộc tính contentDetails.contentRating.ecbmctRating mới của tài nguyên video xác định mức phân loại của video theo Hội đồng Đánh giá và Phân loại của Bộ Văn hoá và Du lịch Thổ Nhĩ Kỳ.

      Ngoài ra, các thuộc tính API cho các hệ thống phân loại khác hỗ trợ các giá trị thuộc tính mới sau:

      • contentDetails.contentRating.fpbRating (Nam Phi)
        Xếp hạng: 10; giá trị của cơ sở lưu trú: fpb10
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Điểm xếp hạng: R-12; giá trị của cơ sở lưu trú: moctwR12
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Điểm xếp hạng: R-15; giá trị thuộc tính: moctwR15
    • Thuộc tính liveStreamingDetails.activeLiveChatId của tài nguyên video chứa mã nhận dạng của cuộc trò chuyện trực tiếp đang hoạt động liên kết với video. Giá trị thuộc tính này chỉ xuất hiện nếu video là sự kiện phát trực tiếp đang diễn ra và đã bật tính năng trò chuyện trực tiếp. Sau khi chương trình phát sóng kết thúc và cuộc trò chuyện trực tiếp kết thúc, tài sản sẽ không còn được trả về cho video đó nữa.

    • Thuộc tính status.rejectionReason của tài nguyên video hỗ trợ giá trị thuộc tính mới legal.

  • API này hỗ trợ các lỗi mới sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest (400) notEditable Các phương thức channelSections.insert, channelSections.updatechannelSections.delete sẽ trả về lỗi này để cho biết không thể tạo, cập nhật hoặc xoá phần kênh đã chỉ định.
    badRequest (400) styleRequired Phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định giá trị cho thuộc tính snippet.style.
    badRequest (400) typeRequired Phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định một giá trị cho thuộc tính snippet.type.
    badRequest (400) processingFailure Phương thức commentThreads.list trả về lỗi này để cho biết rằng máy chủ API không xử lý được yêu cầu. Mặc dù đây có thể là lỗi tạm thời, nhưng lỗi này thường cho biết dữ liệu đầu vào của yêu cầu không hợp lệ. Kiểm tra cấu trúc của tài nguyên commentThread trong phần nội dung yêu cầu để đảm bảo tài nguyên đó hợp lệ.
    forbidden (403) commentsDisabled Phương thức commentThreads.list trả về lỗi này để cho biết rằng video được xác định bằng tham số videoId đã tắt tính năng bình luận.
    badRequest (400) commentTextTooLong Phương thức commentThreads.insert trả về lỗi này để cho biết tài nguyên comment đang được chèn chứa quá nhiều ký tự trong thuộc tính snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist Phương thức playlistItems.insert trả về lỗi này để cho biết rằng video bạn đang cố gắng thêm vào danh sách phát đã có trong một danh sách phát theo bộ khác. Hãy truy cập vào Trung tâm trợ giúp của YouTube để tìm hiểu thêm thông tin về danh sách phát theo bộ.
    badRequest (400) subscriptionForbidden Phương thức subscriptions.insert trả về lỗi này để cho biết rằng bạn đã đạt đến số lượng gói thuê bao tối đa hoặc bạn đã tạo quá nhiều gói thuê bao gần đây. Trong trường hợp thứ hai, bạn có thể thử lại yêu cầu sau vài giờ.
    badRequest (400) invalidCategoryId Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.categoryId trong tài nguyên video đã tải lên đã chỉ định mã danh mục không hợp lệ. Sử dụng phương thức videoCategories.list để truy xuất các danh mục được hỗ trợ.
    badRequest (400) invalidDescription Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.description trong tài nguyên video đã tải lên đã chỉ định một giá trị không hợp lệ.
    badRequest (400) invalidPublishAt Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính status.publishAt trong tài nguyên video đã tải lên đã chỉ định thời gian phát hành theo lịch không hợp lệ.
    badRequest (400) invalidRecordingDetails Phương thức videos.update trả về lỗi này để cho biết rằng đối tượng recordingDetails trong tài nguyên video đã tải lên đã chỉ định thông tin ghi không hợp lệ.
    badRequest (400) invalidTags Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.tags trong tài nguyên video đã tải lên đã chỉ định một giá trị không hợp lệ.
    badRequest (400) invalidTitle Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.title trong tài nguyên video tải lên đã chỉ định một tiêu đề video không hợp lệ hoặc trống.
    badRequest (400) invalidVideoMetadata Phương thức videos.update trả về lỗi này để cho biết siêu dữ liệu của yêu cầu không hợp lệ. Lỗi này xảy ra nếu yêu cầu cập nhật phần snippet của tài nguyên video nhưng không đặt giá trị cho cả thuộc tính snippet.titlesnippet.categoryId.

Ngày 18 tháng 12 năm 2015

Theo luật của Liên minh Châu Âu (EU), 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 vào Điều khoản dịch vụ của API YouTube.

Ngày 19 tháng 11 năm 2015

API hiện hỗ trợ khả năng đặt và truy xuất văn bản đã bản địa hoá cho các thuộc tính snippet.titlesnippet.description của tài nguyên playlistvideo, thuộc tính snippet.title của tài nguyên channelSection và thuộc tính snippet.description của tài nguyên channel.

  • Đặt tiêu đề và nội dung mô tả đã bản địa hoá

    Bạn có thể đặt giá trị đã bản địa hoá cho một tài nguyên khi gọi phương thức insert hoặc update cho tài nguyên đó. Để đặt giá trị đã bản địa hoá cho một tài nguyên, hãy làm cả hai việc sau:

    • Đảm bảo rằng bạn đã đặt giá trị cho thuộc tính snippet.defaultLanguage của tài nguyên. Thuộc tính đó xác định ngôn ngữ của các thuộc tính snippet.titlesnippet.description của tài nguyên. Giá trị của giá trị này có thể là bất kỳ ngôn ngữ ứng dụng được hỗ trợ nào hoặc hầu hết các mã ngôn ngữ khác theo tiêu chuẩn ISO 639-1:2002. Ví dụ: nếu tải một video có tiêu đề và nội dung mô tả bằng tiếng Anh lên, bạn sẽ đặt thuộc tính snippet.defaultLanguage thành en.

      Lưu ý khi cập nhật tài nguyên channel: Để đặt thuộc tính snippet.defaultLanguage cho tài nguyên channel, bạn thực sự cần cập nhật thuộc tính brandingSettings.channel.defaultLanguage.

    • Thêm đối tượng localizations vào tài nguyên bạn đang cập nhật. Mỗi khoá đối tượng là một chuỗi xác định ngôn ngữ của ứng dụng hoặc mã ngôn ngữ ISO 639-1:2002, và mỗi khoá liên kết với một đối tượng chứa tiêu đề (và nội dung mô tả) đã bản địa hoá cho tài nguyên.

      Đoạn mã mẫu bên dưới đặt ngôn ngữ mặc định của tài nguyên thành tiếng Anh. Công cụ này cũng thêm tiêu đề và nội dung mô tả đã bản địa hoá bằng tiếng Đức và tiếng Tây Ban Nha vào video:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          ...
        },
        "localizations":
          "de": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          },
          "es": {
            "title": "Jugar al fútbol",
            "description": "Nosotros jugamos fútbol en el parque los domingos",
          }
        }
      }
    • Lưu ý quan trọng: Hãy nhớ rằng khi bạn cập nhật dữ liệu đã bản địa hoá cho một tài nguyên, yêu cầu API của bạn phải bao gồm tất cả phiên bản đã bản địa hoá hiện có của dữ liệu đó. Ví dụ: Nếu tiếp theo, nếu bạn gửi yêu cầu thêm dữ liệu tiếng Bồ Đào Nha vào video trong ví dụ trên, thì yêu cầu đó sẽ phải thêm dữ liệu đã bản địa hoá sang tiếng Đức, tiếng Tây Ban Nha và tiếng Bồ Đào Nha.

  • Truy xuất giá trị đã bản địa hoá

    API hỗ trợ hai cách để truy xuất giá trị đã bản địa hoá cho một tài nguyên:

    • Thêm tham số hl vào yêu cầu channels.list, channelSections.list, playlists.list hoặc videos.list để truy xuất dữ liệu đã bản địa hoá cho một ngôn ngữ cụ thể của ứng dụng mà trang web YouTube hỗ trợ. Nếu có thông tin chi tiết về tài nguyên được bản địa hoá bằng ngôn ngữ đó, thì đối tượng snippet.localized của tài nguyên sẽ chứa các giá trị được bản địa hoá. Tuy nhiên, nếu không có thông tin chi tiết đã bản địa hoá, đối tượng snippet.localized sẽ chứa thông tin chi tiết về tài nguyên bằng ngôn ngữ mặc định của tài nguyên.

      Ví dụ: Giả sử một yêu cầu videos.list truy xuất dữ liệu cho video mô tả ở trên, trong đó có dữ liệu đã bản địa hoá tiếng Đức và tiếng Tây Ban Nha. Nếu tham số hl được đặt thành de, tài nguyên sẽ chứa dữ liệu sau:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          "localized": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          }
          ...
        }
      }

      Tuy nhiên, nếu tham số hl được đặt thành fr, thì đối tượng snippet.localized sẽ chứa tiêu đề và nội dung mô tả bằng tiếng Anh vì tiếng Anh là ngôn ngữ mặc định cho tài nguyên này và sẽ không có thông tin chi tiết đã bản địa hoá bằng tiếng Pháp.

      Quan trọng: Tham số hl chỉ hỗ trợ các giá trị xác định ngôn ngữ ứng dụng mà trang web YouTube hỗ trợ. Để xác định xem có văn bản được bản địa hoá cho các ngôn ngữ khác hay không, bạn cần truy xuất phần localizations cho tài nguyên và bộ lọc để xác định xem có văn bản được bản địa hoá hay không.

      Ví dụ: bạn cần truy xuất danh sách đầy đủ các bản địa hoá để xác định xem có văn bản được bản địa hoá bằng tiếng Anh Appalachian hay không.

    • Khi truy xuất một tài nguyên, hãy đưa localizations vào giá trị tham số part để truy xuất tất cả thông tin chi tiết đã bản địa hoá cho tài nguyên đó. Nếu đang truy xuất dữ liệu bản địa hoá cho một ngôn ngữ không phải là ngôn ngữ hiện tại của ứng dụng YouTube, bạn cần sử dụng phương pháp này để truy xuất tất cả bản địa hoá, sau đó lọc để xác định xem dữ liệu bản địa hoá mong muốn có tồn tại hay không.

  • Lỗi liên quan đến giá trị văn bản đã bản địa hoá

    API này cũng hỗ trợ các lỗi mới sau đây đối với giá trị văn bản được bản địa hoá:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest (400) defaultLanguageNotSetError Lỗi này cho biết yêu cầu cố gắng chèn hoặc cập nhật đối tượng localizations cho một tài nguyên không thành công vì thuộc tính snippet.defaultLanguage không được đặt cho tài nguyên đó. Các phương thức channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insertvideos.update hỗ trợ lỗi này.
    badRequest (400) localizationValidationError Lỗi này cho biết một trong các giá trị trong đối tượng localizations của tài nguyên không xác thực được. Ví dụ: lỗi này có thể xảy ra nếu đối tượng chứa mã ngôn ngữ không hợp lệ. Phương thức channels.update, channelSections.insert, channelSections.update, playlists.insertplaylists.update hỗ trợ lỗi này.

Ngày 4 tháng 11 năm 2015

Bản cập nhật này bao gồm các 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ố order của phương thức search.list đã được cập nhật để lưu ý rằng nếu bạn sắp xếp các chương trình phát sóng trực tiếp theo viewCount, thì kết quả API sẽ được sắp xếp theo số người xem đồng thời của chương trình phát sóng trong khi các chương trình phát sóng vẫn đang diễn ra.

    • Tham số relatedToVideoId của phương thức search.list đã được cập nhật để lưu ý rằng nếu tham số này được đặt thì các tham số duy nhất được hỗ trợ khác là part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (phải đặt thành video) và fields. Nội dung cập nhật này không phản ánh thay đổi về hành vi của API.

    • Định nghĩa về thuộc tính snippet.publishedAt của tài nguyên video đã được cập nhật để lưu ý rằng giá trị thuộc tính chỉ định ngày và giờ xuất bản video có thể khác với thời gian tải video lên. Ví dụ: nếu một video được tải lên ở chế độ riêng tư rồi sau đó chuyển sang chế độ công khai, thì giá trị thuộc tính này sẽ chỉ định thời điểm video được chuyển sang chế độ công khai. Định nghĩa mới cũng giải thích cách điền giá trị này cho video riêng tư và video không công khai.

      Thay đổi này không phản ánh sự thay đổi trong hành vi của API.

    • Định nghĩa về thuộc tính status.publishAt của tài nguyên video đã được cập nhật để lưu ý:

      • Nếu đặt giá trị của thuộc tính này khi gọi phương thức videos.update, bạn cũng phải đặt giá trị thuộc tính status.privacyStatus thành private ngay cả khi video đã ở chế độ riêng tư.
      • Nếu yêu cầu lên lịch xuất bản video vào một thời điểm trong quá khứ, thì video đó sẽ được xuất bản ngay lập tức. Do đó, việc đặt thuộc tính status.publishAt thành ngày và giờ trong quá khứ cũng giống như việc thay đổi privacyStatus của video từ private thành public.
    • Thuộc tính contentDetails.contentRating.cncRating của tài nguyên video chỉ định mức phân loại của video theo Commission de classification cinematographique của Pháp. Thuộc tính này thay thế thuộc tính contentDetails.contentRating.fmocRating (hiện không dùng nữa).

    • Định nghĩa của brandingSettings.channel.keywords của tài nguyên channel đã được cập nhật để phản ánh chính xác rằng giá trị thuộc tính chứa danh sách chuỗi được phân tách bằng dấu cách chứ không phải danh sách được phân tách bằng dấu phẩy như đã ghi nhận trước đó. Nội dung cập nhật này không phản ánh thay đổi về hành vi của API.

    • Tài liệu về phương thức thumbnails.set đã được cập nhật để phản ánh chính xác rằng nội dung của yêu cầu chứa hình thu nhỏ mà bạn đang tải lên và liên kết với một video. Nội dung yêu cầu không chứa tài nguyên thumbnail. Trước đây, tài liệu cho biết bạn không nên cung cấp nội dung yêu cầu khi gọi phương thức này. Nội dung cập nhật này không phản ánh sự thay đổi trong hành vi của API.

    • Phần mô tả tài nguyên activity đã được cập nhật để phản ánh thực tế là phương thức activities.list hiện không bao gồm các tài nguyên liên quan đến bình luận mới trên video. snippet.typecontentDetails.comment của tài nguyên cũng đã được cập nhật.

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

    • API này hiện hỗ trợ các lỗi sau:

      Chi tiết về lỗi
      activities.insert
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidMetadata
      Mô tảThuộc tính kind không khớp với loại mã nhận dạng được cung cấp.
      commentThreads.update
      comments.insert
      comments.update
      Mã phản hồi HTTPbadRequest (400)
      Lý docommentTextTooLong
      Mô tảTài nguyên comment đang được chèn hoặc cập nhật chứa quá nhiều ký tự trong thuộc tính snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      Mã phản hồi HTTPforbidden (403)
      Lý doplaylistItemsNotAccessible
      Mô tảYêu cầu không được uỷ quyền hợp lệ để chèn, cập nhật hoặc xoá mục trong danh sách phát được chỉ định.
      playlists.delete
      playlists.insert
      playlists.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doplaylistForbidden
      Mô tảHoạt động này bị cấm hoặc yêu cầu không được uỷ quyền hợp lệ.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidLocation
      Mô tảGiá trị tham số location và/hoặc locationRadius có định dạng không chính xác.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidRelevanceLanguage
      Mô tảGiá trị thông số relevanceLanguage được định dạng không chính xác.
      subscriptions.insert
      Mã phản hồi HTTPbadRequest (400)
      Lý dosubscriptionForbidden
      Mô tảLỗi này xảy ra khi bất kỳ điều kiện nào sau đây là đúng:
      • Gói thuê bao mà bạn đang cố gắng tạo đã tồn tại
      • Bạn đã đạt đến số lượng gói thuê bao tối đa
      • Bạn đang cố đăng ký theo dõi kênh của chính mình. Chúng tôi không hỗ trợ việc này.
      • Gần đây, bạn đã tạo quá nhiều gói thuê bao. Bạn cần chờ vài giờ rồi mới thử lại yêu cầu đăng ký.
      videos.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidDefaultBroadcastPrivacySetting
      Mô tảYêu cầu này cố gắng đặt chế độ cài đặt quyền riêng tư không hợp lệ cho thông báo truyền tin mặc định.

Ngày 28 tháng 8 năm 2015

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

  • Thông tin cập nhật về các tài nguyên và phương pháp hiện có

    • Thuộc tính statistics.favoriteCount của tài nguyên video không còn được dùng nữa.

      Theo chính sách ngừng sử dụng của chúng tôi, thuộc tính này sẽ tiếp tục được đưa vào tài nguyên video trong ít nhất một năm sau khi có thông báo này. Tuy nhiên, giá trị thuộc tính hiện luôn được đặt thành 0.

Ngày 7 tháng 8 năm 2015

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

  • Thông tin cập nhật về các tài nguyên và phương pháp hiện có

    • Định nghĩa về thuộc tính snippet.tags[] của tài nguyên video đã được cập nhật để cung cấp thêm thông tin về cách máy chủ API tính toán độ dài giá trị của thuộc tính. Xin lưu ý rằng nội dung cập nhật này không phản ánh sự thay đổi trong hành vi của API.

      Cụ thể, định nghĩa này hiện giải thích rằng nếu một thẻ có chứa dấu cách, thì máy chủ API sẽ xử lý giá trị thẻ như thể thẻ được gói trong dấu ngoặc kép và dấu ngoặc kép sẽ được tính vào giới hạn ký tự. Vì vậy, đối với giới hạn ký tự, thẻ Foo-Baz chứa 7 ký tự, nhưng thẻ Foo Baz chứa 9 ký tự.

    • Phương thức commentThreads.insert không còn hỗ trợ tham số shareOnGooglePlus. Tham số này trước đây đã cho biết liệu một nhận xét và câu trả lời cho nhận xét đó có được đăng lên hồ sơ trên Google+ của tác giả hay không. Nếu một yêu cầu gửi thông số, máy chủ API sẽ bỏ qua thông số đó nhưng xử lý yêu cầu.

Ngày 18 tháng 6 năm 2015

Bản cập nhật này bao gồm các 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ố order mới của phương thức commentThreads.list chỉ định thứ tự mà phản hồi của API phải liệt kê các chuỗi nhận xét. Bạn có thể sắp xếp các chuỗi tin nhắn theo thời gian hoặc mức độ liên quan. Hành vi mặc định là sắp xếp dữ liệu theo thời gian.

    • Thuộc tính snippet.defaultAudioLanguage mới của tài nguyên video chỉ định ngôn ngữ nói trong bản âm thanh mặc định của video.

    • Định nghĩa về thuộc tính contentDetails.licensedContent của tài nguyên video đã được cập nhật để làm rõ rằng nội dung ban đầu phải được tải lên một kênh liên kết với một đối tác nội dung YouTube, sau đó đối tác đó xác nhận quyền sở hữu. Điều này không thể hiện sự thay đổi trong hành vi thực tế của API.

    • Phương thức captions.delete, captions.download, captions.insert, captions.listcaptions.update hiện hỗ trợ tham số onBehalfOfContentOwner. Tham số này đã được hỗ trợ cho một số phương thức khác. Các yêu cầu sử dụng phương thức đó cũng cần được uỷ quyền bằng mã thông báo cấp quyền truy cập vào phạm vi https://www.googleapis.com/auth/youtubepartner.

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

    • API này hiện hỗ trợ các lỗi sau:

      Chi tiết về lỗi
      videos.rate
      Mã phản hồi HTTPbadRequest (400)
      Lý doemailNotVerified
      Mô tảNgười dùng phải xác minh địa chỉ email của mình trước khi xếp hạng video.
      videos.rate
      Mã phản hồi HTTPbadRequest (400)
      Lý dovideoPurchaseRequired
      Mô tảChỉ những người dùng đã thuê video mới có thể xếp hạng video thuê.
    • Phương thức subscriptions.deletesubscriptions.insert không còn hỗ trợ lỗi accountClosedaccountSuspended nữa.

Ngày 27 tháng 4 năm 2015

Bản cập nhật này bao gồm các thay đổi sau:

  • Các tài nguyên và phương thức mới

    • Tài nguyên videoAbuseReportReason mới chứa thông tin về lý do một video bị gắn cờ do chứa nội dung sai trái. Phương thức videoAbuseReportReasons.list cho phép bạn truy xuất danh sách tất cả các lý do khiến video có thể bị gắn cờ.

    • Phương thức videos.reportAbuse mới cung cấp một cách để gắn cờ một video có chứa nội dung vi phạm trên thực tế. Nội dung của yêu cầu chứa đối tượng JSON chỉ rõ video bị gắn cờ cũng như lý do mà video đó bị coi là chứa nội dung vi phạm. Bạn có thể lấy lý do hợp lệ từ phương thức videoAbuseReportReason.list được mô tả ở trên.

      Hướng dẫn di chuyển cũng đã được cập nhật với một ví dụ về cách báo cáo video vi phạm. Với thay đổi này, API v3 hiện hỗ trợ tất cả các tính năng của API v2 mà API này lên lịch hỗ trợ. Các tính năng này cũng được giải thích trong hướng dẫn di chuyển.

  • 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ố bộ lọc forDeveloper mới của phương thức search.list giới hạn việc tìm kiếm để chỉ truy xuất video được tải lên thông qua ứng dụng hoặc trang web của nhà phát triển. Bạn có thể sử dụng tham số forDeveloper kết hợp với các tham số tìm kiếm không bắt buộc như tham số q.

      Đối với tính năng này, mỗi video được tải lên sẽ tự động được gắn thẻ bằng mã số dự án được liên kết với ứng dụng của nhà phát triển trong Google Developers Console.

      Sau đó, khi một yêu cầu tìm kiếm đặt tham số forDeveloper thành true, máy chủ API sẽ sử dụng thông tin cấp phép của yêu cầu để xác định nhà phát triển. Do đó, nhà phát triển có thể giới hạn kết quả chỉ cho những video được tải lên thông qua ứng dụng hoặc trang web của chính nhà phát triển, nhưng không giới hạn kết quả cho những video được tải lên thông qua các ứng dụng hoặc trang web khác.

      Tính năng mới này cung cấp chức năng tương tự, mặc dù không giống hệt với chức năng thẻ nhà phát triển mà API v2 hỗ trợ.

    • Thuộc tính snippet.country mới của tài nguyên channel cho phép chủ sở hữu kênh liên kết kênh của họ với một quốc gia cụ thể.

      Lưu ý: Để đặt thuộc tính snippet.country cho tài nguyên channel, bạn thực sự cần cập nhật thuộc tính brandingSettings.channel.country.

    • API này hiện hỗ trợ việc nhắm mục tiêu cho các tài nguyên channelSection. Tính năng nhắm mục tiêu theo phần kênh cung cấp cách thức để hạn chế khả năng hiển thị của một phần nội dung cho những người dùng phù hợp với các tiêu chí cụ thể.

      API này hiển thị 3 tuỳ chọn nhắm mục tiêu. Người dùng phải đáp ứng tất cả chế độ cài đặt nhắm mục tiêu để một phần kênh xuất hiện.

    • Định nghĩa của thuộc tính contentDetails.duration của tài nguyên video đã được sửa để phản ánh rằng giá trị có thể phản ánh giờ, ngày, v.v.

    • Tài liệu về phương thức channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.deletevideos.delete đã được sửa để phản ánh rằng khi thành công, tất cả các phương thức đó đều trả về mã phản hồi 204 HTTP (No Content).

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

    • 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ả
      badRequest (400) targetInvalidCountry Phương thức channelSections.insertchannelSections.update trả về lỗi này nếu tài nguyên channelSection được chèn chứa giá trị không hợp lệ cho thuộc tính targeting.countries[].
      badRequest (400) targetInvalidLanguage Các phương thức channelSections.insertchannelSections.update sẽ trả về lỗi này nếu tài nguyên channelSection được chèn chứa giá trị không hợp lệ đối với thuộc tính targeting.languages[].
      badRequest (400) targetInvalidRegion Phương thức channelSections.insertchannelSections.update trả về lỗi này nếu tài nguyên channelSection được chèn chứa giá trị không hợp lệ cho thuộc tính targeting.regions[].
      badRequest (400) operationNotSupported Phương thức comments.insert trả về lỗi này nếu người dùng API không thể chèn nhận xét để trả lời nhận xét cấp cao nhất do thuộc tính snippet.parentId xác định. Trong tài nguyên commentThread, thuộc tính snippet.canReply cho biết liệu người xem hiện tại có thể trả lời chuỗi tin nhắn hay không.
      badRequest (400) invalidChannelId Phương thức search.list sẽ trả về lỗi này nếu tham số channelId trong yêu cầu chỉ định mã nhận dạng kênh không hợp lệ.
      badRequest (400) subscriptionForbidden Phương thức subscriptions.insert sẽ trả về lỗi này nếu người dùng API cố gắng đăng ký theo dõi kênh của chính người dùng đó.
    • Phương thức captions.update không còn hỗ trợ lỗi invalidMetadatavideoNotFound nữa.

Ngày 16 tháng 4 năm 2015

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

  • Hướng dẫn di chuyển đã được cập nhật để giải thích cách di chuyển các ứng dụng vẫn sử dụng chức năng nhận xét từ API phiên bản 2.

    Hướng dẫn này cũng nêu một số tính năng nhận xét mà API phiên bản 2 không hỗ trợ nhưng được hỗ trợ trong API phiên bản 3. bao gồm:

    • Truy xuất bình luận về một kênh
    • Truy xuất tất cả các chuỗi bình luận liên quan đến một kênh, tức là phản hồi của API có thể chứa bình luận về kênh hoặc bất kỳ video nào của kênh đó.
    • Cập nhật nội dung của nhận xét
    • Đánh dấu bình luận là bình luận rác
    • Đặt trạng thái kiểm duyệt của nhận xét

  • Chúng tôi đã cập nhật hướng dẫn Đăng ký nhận thông báo đẩy để phản ánh việc thông báo chỉ được đẩy đến trung tâm Google PubSubHubBub chứ không phải trung tâm Superfeedr như đã chỉ định trước đó.

Ngày 9 tháng 4 năm 2015

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

  • Các tài nguyên commentThreadcomment mới của API cho phép bạn truy xuất, chèn, cập nhật, xoá và kiểm duyệt nhận xét.

    • Tài nguyên commentThread chứa thông tin về chuỗi bình luận trên YouTube, bao gồm một bình luận cấp cao nhất và các phản hồi cho bình luận đó (nếu có). Tài nguyên commentThread có thể biểu thị các bình luận về một video hoặc kênh.

      Bình luận cấp cao nhất và các câu trả lời thực sự là tài nguyên comment được lồng bên trong tài nguyên commentThread. Điều quan trọng cần lưu ý là tài nguyên commentThread không nhất thiết phải chứa tất cả các câu trả lời cho một bình luận và bạn cần sử dụng phương thức comments.list nếu muốn truy xuất tất cả các câu trả lời cho một bình luận cụ thể. Ngoài ra, một số bình luận không có câu trả lời.

      API này hỗ trợ các phương thức sau cho tài nguyên commentThread:

      • commentThreads.list – Truy xuất danh sách chuỗi bình luận. Bạn có thể dùng phương thức này để truy xuất bình luận liên quan đến một video hoặc kênh cụ thể.
      • commentThreads.insert – Tạo một nhận xét cấp cao nhất mới. (Sử dụng phương thức comments.insert để trả lời một nhận xét hiện có.)
      • commentThreads.update – Sửa đổi một nhận xét cấp cao nhất.

    • Tài nguyên comment chứa thông tin về một bình luận trên YouTube. Tài nguyên comment có thể đại diện cho nhận xét về một video hoặc kênh. Ngoài ra, bình luận có thể là bình luận cấp cao nhất hoặc bình luận trả lời bình luận cấp cao nhất.

      API này hỗ trợ các phương thức sau cho tài nguyên comment:

      • comments.list – Truy xuất danh sách nhận xét. Sử dụng phương thức này để truy xuất tất cả các phản hồi cho một nhận xét cụ thể.
      • comments.insert – Tạo một bình luận trả lời.
      • comments.update – Sửa đổi nhận xét.
      • comments.markAsSpam – Gắn cờ một hoặc nhiều bình luận là vi phạm.
      • comments.setModerationStatus – Đặt trạng thái kiểm duyệt của một hoặc nhiều nhận xét. Ví dụ: Xoá một bình luận để hiển thị công khai hoặc từ chối một bình luận là không phù hợp để hiển thị. Yêu cầu API phải được chủ sở hữu của kênh hoặc video liên kết với các bình luận đó cho phép.
      • comments.delete – Xoá bình luận.

    Xin lưu ý rằng phạm vi https://www.googleapis.com/auth/youtube.force-ssl mới của API, được mô tả trong nhật ký sửa đổi vào ngày 2 tháng 4 năm 2015, là bắt buộc đối với các lệnh gọi đến phương thức comments.insert, comments.update, comments.markAsSpam, comments.setModerationStatus, comments.delete, commentThreads.insertcommentThreads.update.

  • Hướng dẫn mới về Đăng ký thông báo đẩy giải thích tính năng hỗ trợ mới của API cho thông báo đẩy thông qua PubSubHubBub, một giao thức phát hành/đăng ký từ máy chủ đến máy chủ cho các tài nguyên có thể truy cập trên web. Máy chủ gọi lại PubSubHubBub có thể nhận thông báo về nguồn cấp dữ liệu Atom khi một kênh thực hiện bất kỳ hoạt động nào sau đây:

    • tải video lên
    • cập nhật tiêu đề của video
    • cập nhật mô tả của video

  • Hướng dẫn di chuyển cũng đã được cập nhật để lưu ý về tính năng hỗ trợ mới cho thông báo đẩy. Tuy nhiên, vì API v2 hỗ trợ nhiều loại thông báo đẩy khác không được hỗ trợ trong API v3, nên việc đề cập đến hỗ trợ PubSubHubBub vẫn được liệt kê trong phần Không dùng nữa của hướng dẫn đó.

  • Phạm vi https://www.googleapis.com/auth/youtube.force-ssl mới của API hiện là phạm vi hợp lệ cho mọi phương thức API trước đây đã hỗ trợ phạm vi https://www.googleapis.com/auth/youtube.

  • API này hiện hỗ trợ các lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest (400) invalidRating Phương thức videos.rate sẽ trả về lỗi này nếu yêu cầu chứa giá trị không mong muốn cho thông số rating.
  • Phương thức subscriptions.insert không còn hỗ trợ lỗi subscriptionLimitExceeded. Lỗi này trước đó cho biết người đăng ký được xác định cùng yêu cầu đã vượt quá giới hạn tốc độ của gói thuê bao.

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

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

  • Tài nguyên captions mới đại diện cho một bản phụ đề trên YouTube. Phụ đề được liên kết với chính xác một video trên YouTube.

    API này hỗ trợ các phương thức để liệt kê, chèn, cập nhật, tải xuốngxoá các bản lồng tiếng.

  • Hướng dẫn di chuyển cũng đã được cập nhật để giải thích cách di chuyển các ứng dụng vẫn sử dụng chức năng phụ đề trong API phiên bản 2.

  • Phạm vi https://www.googleapis.com/auth/youtube.force-ssl mới của API yêu cầu hoạt động giao tiếp với máy chủ API diễn ra qua kết nối SSL.

    Phạm vi mới này cấp cùng quyền truy cập như phạm vi https://www.googleapis.com/auth/youtube. Trên thực tế, 2 phạm vi đó có chức năng giống nhau vì máy chủ API YouTube chỉ hoạt động qua một điểm cuối HTTPS. Do đó, mặc dù phạm vi https://www.googleapis.com/auth/youtube không yêu cầu kết nối SSL, nhưng thực tế không có cách nào khác để tạo yêu cầu API.

    Bạn cần có phạm vi mới cho các lệnh gọi đến tất cả phương thức của tài nguyên caption.

Ngày 11 tháng 3 năm 2015

Bản cập nhật này bao gồm các thay đổi sau:

  • Hướng dẫn di chuyển API dữ liệu YouTube (v3) có một thẻ mới có tên là Mới trong API v3. Thẻ này liệt kê những tính năng mà API v3 có hỗ trợ và API v2 không hỗ trợ. Các tính năng tương tự trước đây và vẫn được liệt kê trong các thẻ khác trong hướng dẫn. Ví dụ: tính năng mới giải thích cách cập nhật dữ liệu về chiến dịch quảng bá trong video của một kênh cũng được liệt kê trong thẻ Kênh (hồ sơ).

  • Chúng tôi đã cập nhật hướng dẫn di chuyển YouTube Data API (phiên bản 3) để lưu ý rằng API phiên bản 3 sẽ hỗ trợ tính năng sau đây của API phiên bản 2:

  • Chúng tôi đã cập nhật hướng dẫn di chuyển sang API dữ liệu YouTube (v3) để lưu ý rằng các tính năng sau đây của API phiên bản 2 sẽ không được hỗ trợ trong API phiên bản 3:

    • Truy xuất đề xuất video – API v3 không truy xuất danh sách chỉ chứa các video được đề xuất cho người dùng API hiện tại. Tuy nhiên, bạn có thể sử dụng API v3 để tìm các video đề xuất bằng cách gọi phương thức activities.list và đặt giá trị tham số home thành true.

      Trong phản hồi của API, một tài nguyên sẽ tương ứng với một video đề xuất nếu giá trị của thuộc tính snippet.typerecommendation. Trong trường hợp đó, các thuộc tính contentDetails.recommendation.reasoncontentDetails.recommendation.seedResourceId sẽ chứa thông tin về lý do video được đề xuất. Lưu ý rằng không có đảm bảo rằng câu trả lời sẽ chứa bất kỳ số lượng video đề xuất cụ thể nào.

    • Truy xuất đề xuất kênh

    • Truy xuất video đăng ký mới – API v3 không truy xuất danh sách chỉ chứa các video đã được tải lên gần đây lên các kênh mà người dùng API đăng ký. Tuy nhiên, bạn có thể sử dụng API phiên bản 3 để tìm các video mới của kênh đăng ký bằng cách gọi phương thức activities.list và đặt giá trị thông số home thành true.

      Trong phản hồi của API, một tài nguyên sẽ tương ứng với một video mới của gói thuê bao nếu giá trị của thuộc tính snippet.typeupload. Xin lưu ý rằng chúng tôi không đảm bảo rằng phản hồi sẽ chứa một số lượng video mới cụ thể trong danh sách kênh đăng ký.

    • Hỗ trợ nguồn cấp dữ liệu RSS

    • Thông báo đẩy để cập nhật nguồn cấp dữ liệu – API v2 hỗ trợ thông báo đẩy, sử dụng Giao thức cập nhật đơn giản (sup) hoặc PubSubHubbub, để giám sát nguồn cấp dữ liệu hoạt động của người dùng cho người dùng YouTube. Chúng tôi gửi thông báo khi có người đăng ký theo dõi kênh mới và khi người dùng xếp hạng, chia sẻ, đánh dấu video là yêu thích, bình luận hoặc tải lên video.

      API v3 sẽ hỗ trợ thông báo đẩy bằng cách sử dụng giao thức PubSubHubbub nhưng thông báo sẽ chỉ bao gồm video tải lên và nội dung cập nhật cho tiêu đề video hoặc phần mô tả video.

    • Vị trí của kênh – API phiên bản 2 sử dụng thẻ <yt:location> để xác định vị trí của người dùng như đã nhập trong hồ sơ công khai của kênh trên YouTube. Mặc dù một số nhà phát triển sử dụng trường này để liên kết kênh với quốc gia cụ thể nhưng dữ liệu của trường này không thể được sử dụng một cách nhất quán cho mục đích đó.

    • Đặt hoặc truy xuất thẻ nhà phát triển – API phiên bản 2 hỗ trợ khả năng liên kết từ khoá hoặc thẻ nhà phát triển với một video tại thời điểm video được tải lên. Người dùng YouTube sẽ không thấy thẻ nhà phát triển, nhưng chủ sở hữu video có thể truy xuất những video khớp với một thẻ nhà phát triển cụ thể.

      API phiên bản 3 sẽ cung cấp tính năng tương tự, nhưng không giống hệt. Cụ thể, nhà phát triển sẽ có thể tìm kiếm video do ứng dụng của chính nhà phát triển tải lên. Đối với tính năng này, mỗi video tải lên được tự động gắn thẻ với số dự án được liên kết với ứng dụng của nhà phát triển trong Google Developers Console. Sau đó, nhà phát triển sử dụng chính số dự án đó để tìm kiếm video.

    • Liệt kê video theo ngày phát hành, số lượt xem hoặc điểm xếp hạng – Trong API phiên bản 2, thông số orderby cho phép bạn sắp xếp các video trong danh sách phát theo vị trí, thời lượng, ngày phát hành, tiêu đề và một số giá trị khác. Trong API phiên bản 3, các mục trong danh sách phát thường được sắp xếp theo vị trí theo thứ tự tăng dần và không có các tuỳ chọn sắp xếp khác.

      Tuy nhiên, vẫn có một số ngoại lệ. Video tải lên mới, video yêu thích, video được thích hoặc video đã xem gần đây sẽ tự động được thêm làm mục đầu tiên (snippet.position=0) cho các loại danh sách phát sau. Vì vậy, mỗi danh sách trong số này được sắp xếp hiệu quả theo thứ tự mục mới nhất đến cũ nhất dựa trên lần thêm mục vào danh sách.

      • nội dung do người dùng tải lên
      • video yêu thích
      • video đã thích
      • lịch sử xem

      Tuy nhiên, hãy lưu ý rằng mục mới được thêm vào danh sách phát "Xem sau" sẽ được thêm làm mục cuối cùng trong danh sách đó, do đó danh sách được sắp xếp hiệu quả từ mục cũ nhất đến mục mới nhất.

    • Xử lý hàng loạt – API phiên bản 3 hỗ trợ một trong các trường hợp sử dụng xử lý hàng loạt mà API phiên bản 2 đã hỗ trợ. Các phương thức channels.list, channelSections.list, guideCategories.list, playlistItems.list, playlists.list, subscriptions.list, videoCategories.listvideos.list của API phiên bản 3 đều hỗ trợ tham số id. Tham số này có thể dùng để chỉ định danh sách mã nhận dạng được phân tách bằng dấu phẩy (mã video, mã kênh, v.v.). Khi sử dụng các phương thức đó, bạn có thể truy xuất danh sách nhiều tài nguyên qua một yêu cầu duy nhất.

    Với những thay đổi này, hướng dẫn hiện xác định tất cả chức năng được hỗ trợ trong API cũ (phiên bản 2) sẽ không được dùng nữa trong phiên bản API hiện tại (phiên bản 3).

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

Bản cập nhật này bao gồm các thay đổi sau:

  • Phương thức channelSections.deletechannelSections.update hiện hỗ trợ tham số onBehalfOfContentOwner, tham số này đã được hỗ trợ cho một số phương thức khác.

  • Các thuộc tính sau cũng như các thuộc tính con của chúng đã ngừng hoạt động:

    • brandingSettings.image.backgroundImageUrl
    • brandingSettings.image.largeBrandedBannerImageImapScript
    • brandingSettings.image.largeBrandedBannerImageUrl
    • brandingSettings.image.smallBrandedBannerImageImapScript
    • brandingSettings.image.smallBrandedBannerImageUrl

    Lưu ý: Không có thuộc tính nào trong số này phải tuân thủ Chính sách về việc ngừng sử dụng API.

  • Thuộc tính contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons mới của tài nguyên video xác định lý do giải thích vì sao video nhận được xếp hạng DJCQT (Brazil).

  • 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ả
    notFound (404) channelNotFound Phương thức channels.update trả về lỗi này nếu tham số id của yêu cầu chỉ định một kênh không thể tìm thấy.
    badRequest (400) manualSortRequiredinvalidValue Phương thức playlistItems.insertplaylistItems.update trả về lỗi này nếu yêu cầu cố gắng đặt vị trí của mục danh sách phát, nhưng danh sách phát không sử dụng tính năng sắp xếp thủ công. Ví dụ: các mục trong danh sách phát có thể được sắp xếp theo ngày hoặc mức độ phổ biến. Bạn có thể giải quyết lỗi này bằng cách xoá phần tử snippet.position khỏi tài nguyên được gửi trong nội dung yêu cầu. Nếu muốn mục danh sách phát có một vị trí cụ thể trong danh sách, trước tiên, bạn cần cập nhật chế độ cài đặt thứ tự của danh sách phát thành Thủ công. Bạn có thể điều chỉnh chế độ cài đặt này trong Trình quản lý video của YouTube.
    forbidden (403) channelClosed Phương thức playlists.list sẽ trả về lỗi này nếu tham số channelId của yêu cầu chỉ định một kênh đã bị đóng.
    forbidden (403) channelSuspended Phương thức playlists.list sẽ trả về lỗi này nếu tham số channelId của yêu cầu chỉ định một kênh đã bị tạm ngưng.
    forbidden (403) playlistForbidden Phương thức playlists.list sẽ trả về lỗi này nếu tham số id của yêu cầu không hỗ trợ yêu cầu đó hoặc yêu cầu không được uỷ quyền đúng cách.
    notFound (404) channelNotFound Phương thức playlists.list trả về lỗi này nếu tham số channelId của yêu cầu chỉ định một kênh không thể tìm thấy.
    notFound (404) playlistNotFound Phương thức playlists.list sẽ trả về lỗi này nếu tham số id của yêu cầu chỉ định một danh sách phát không thể tìm thấy.
    notFound (404) videoNotFound Phương thức videos.list trả về lỗi này nếu tham số id của yêu cầu chỉ định một video không thể tìm thấy.
    badRequest (400) invalidRating Phương thức videos.rate sẽ trả về lỗi này nếu yêu cầu chứa một giá trị không mong muốn cho tham số rating.

Ngày 2 tháng 3 năm 2015

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

Ngày 14 tháng 1 năm 2015

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

  • Chúng tôi đã cập nhật hướng dẫn di chuyển API Dữ liệu YouTube (phiên bản 3) để giải thích cách sử dụng API phiên bản 3 nhằm tải video lên bằng JavaScript. (Xem phần Tải video lên để biết thông tin chi tiết.) Chức năng này tương đương với chức năng tải lên dựa trên trình duyệt mà API v2 hỗ trợ. Xin lưu ý rằng thay đổi này trong hướng dẫn di chuyển không phản ánh thay đổi thực tế về API mà phản ánh khả năng cung cấp mã mẫu mới để tải video lên bằng JavaScript phía máy khách.

    Do hỗ trợ tải video lên bằng thư viện ứng dụng JavaScript và CORS, hướng dẫn di chuyển không còn liệt kê tính năng tải lên dựa trên trình duyệt dưới dạng một tính năng có thể không được dùng nữa trong API v3.

  • Tài liệu cho phương thức videos.insert đã được cập nhật để bao gồm mã JavaScript mẫu mới được mô tả ở trên. Danh sách mã mẫu JavaScript cho API Dữ liệu YouTube (phiên bản 3) cũng đã được cập nhật.

Ngày 11 tháng 11 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

  • Chi phí hạn mức cho một lệnh gọi đến phương thức search.list đã thay đổi thành 100 đơn vị.

    Lưu ý quan trọng: Trong nhiều trường hợp, bạn có thể sử dụng các phương thức API khác để truy xuất thông tin với chi phí hạn mức thấp hơn. Ví dụ: hãy xem xét hai cách sau để tìm video được tải lên kênh GoogleDevelopers.

    • Giá hạn mức: 100 đơn vị

      Gọi phương thức search.list và tìm kiếm GoogleDevelopers.

    • Chi phí hạn mức: 6 đơn vị

      Gọi phương thức channels.list để tìm mã nhận dạng kênh phù hợp. Đặt tham số forUsername thành GoogleDevelopers và tham số part thành contentDetails. Trong phản hồi API, thuộc tính contentDetails.relatedPlaylists.uploads chỉ định mã danh sách phát cho các video đã tải lên của kênh.

      Sau đó, hãy gọi phương thức playlistItems.list và đặt tham số playlistId thành mã nhận dạng đã chụp và tham số part thành snippet.

Ngày 8 tháng 10 năm 2014

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

  • Tài nguyên channel chứa hai thuộc tính mới:

    • Thuộc tính status.longUploadsStatus cho biết liệu kênh có đủ điều kiện tải video dài hơn 15 phút lên hay không. Thuộc tính này chỉ được trả về nếu chủ sở hữu kênh đã cho phép yêu cầu API. Các giá trị thuộc tính hợp lệ là:

      • allowed – Kênh có thể tải video dài hơn 15 phút lên.
      • eligible – Kênh đủ điều kiện để tải video dài hơn 15 phút lên nhưng trước hết phải bật tính năng này.
      • disallowed – Kênh không thể hoặc không đủ điều kiện để tải video dài hơn 15 phút lên.

      Xem định nghĩa thuộc tính để biết thêm thông tin về các giá trị này. Trung tâm trợ giúp của YouTube cũng cung cấp thêm thông tin chi tiết về tính năng này.

    • Thuộc tính invideoPromotion.useSmartTiming cho biết chiến dịch quảng bá của kênh có sử dụng "thời gian thông minh" hay không. Tính năng này cố gắng hiển thị quảng cáo tại một điểm trong video khi quảng cáo có nhiều khả năng được nhấp vào hơn và ít có khả năng làm gián đoạn trải nghiệm xem. Tính năng này cũng chọn một quảng cáo duy nhất để hiển thị trên mỗi video.

  • Cả định nghĩa về thuộc tính snippet.titlesnippet.categoryId của tài nguyên video đều đã được cập nhật để làm rõ cách API xử lý các lệnh gọi đến phương thức videos.update. Nếu gọi phương thức đó để cập nhật phần snippet của tài nguyên video, bạn phải đặt giá trị cho cả hai thuộc tính đó.

    Nếu bạn cố cập nhật phần snippet của tài nguyên video và không đặt giá trị cho cả hai thuộc tính đó, thì API sẽ trả về lỗi invalidRequest. Nội dung mô tả lỗi đó cũng đã được cập nhật.

  • Thuộc tính contentDetails.contentRating.oflcRating của tài nguyên video (xác định mức phân loại của video theo Cơ quan phân loại phim và văn học của New Zealand) hiện hỗ trợ hai mức phân loại mới: oflcRp13oflcRp16. Các giá trị này tương ứng với điểm xếp hạng RP13RP16.

  • Phương thức channelBanners.insert hiện hỗ trợ lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest bannerAlbumFull Album Hình ảnh kênh YouTube của chủ sở hữu kênh có quá nhiều hình ảnh. Chủ sở hữu kênh phải truy cập vào http://photos.google.com, chuyển đến trang album và xoá một số ảnh khỏi album đó.

Ngày 12 tháng 9 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

  • Chi phí hạn mức cho một lệnh gọi đến phương thức search.list đã thay đổi từ 1 đơn vị thành 2 đơn vị, ngoài chi phí của các phần tài nguyên đã chỉ định.

Ngày 13 tháng 8 năm 2014

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

  • Phương thức subscriptions.insert hiện hỗ trợ lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest subscriptionLimitExceeded Người đăng ký được xác định cùng với yêu cầu đã vượt quá giới hạn tốc độ của gói thuê bao. Bạn có thể thử đăng ký thêm gói thuê bao sau vài giờ nữa.

Ngày 12 tháng 8 năm 2014

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

  • Một hướng dẫn mới có tiêu đề Di chuyển ứng dụng của bạn sang YouTube Data API (v3) sẽ giải thích cách sử dụng YouTube Data API (v3) để thực hiện chức năng có trong YouTube Data API (v2). API cũ chính thức không được dùng nữa kể từ ngày 4 tháng 3 năm 2014. Hướng dẫn này nhằm giúp bạn di chuyển các ứng dụng vẫn sử dụng API phiên bản 2 sang phiên bản API mới nhất.

Ngày 8 tháng 7 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

  • Phương thức playlists.insert hiện hỗ trợ lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest maxPlaylistExceeded Lỗi này xảy ra nếu không thể tạo danh sách phát vì kênh đã có số lượng danh sách phát tối đa được cho phép.

Ngày 18 tháng 6 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

  • Nội dung mô tả của từng phương thức API đã được cập nhật để bao gồm hạn mức chi phí phải chịu của một lệnh gọi đến phương thức đó. Tương tự, định nghĩa của các tham số part đã được cập nhật để chỉ định chi phí hạn mức của từng phần có thể được truy xuất trong lệnh gọi API. Ví dụ: lệnh gọi đến phương thức subscriptions.insert có chi phí hạn mức khoảng 50 đơn vị. Tài nguyên subscription cũng chứa 3 phần (snippet, contentDetailssubscriberSnippet), mỗi phần có chi phí là 2 đơn vị.

    Xin lưu ý rằng hạn mức chi phí có thể thay đổi mà không có cảnh báo.

  • Tài nguyên video hiện hỗ trợ 43 hệ thống phân loại nội dung mới. Các hệ thống này xác định mức phân loại mà video nhận được từ nhiều cơ quan phân loại quốc gia. Hệ thống xếp hạng bao gồm: (Argentina, Áo, B

Ngày 28 tháng 5 năm 2014

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

  • Phương thức search.list hiện hỗ trợ các tham số locationlocationRadius, cho phép bạn tìm kiếm video liên kết với một vị trí địa lý. Yêu cầu phải chỉ định giá trị cho cả hai tham số để truy xuất kết quả dựa trên vị trí và API sẽ trả về lỗi nếu yêu cầu chỉ bao gồm một trong hai tham số.

    • Tham số location chỉ định toạ độ vĩ độ/kinh độ ở chính giữa khu vực địa lý hình tròn.

    • Thông số locationRadius chỉ định khoảng cách tối đa từ vị trí được liên kết với một video đến tâm của khu vực để video đó vẫn xuất hiện trong kết quả tìm kiếm.

Ngày 13 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 thuộc tính invideoPromotion.items[] của tài nguyên channel để lưu ý rằng thông thường, bạn chỉ có thể đặt một mục được quảng bá cho kênh của mình. Nếu bạn cố gắng chèn quá nhiều mặt hàng được quảng bá, API sẽ trả về lỗi tooManyPromotedItems có mã trạng thái HTTP 400.

  • Giờ đây, tài nguyên channelSection có thể chứa thông tin về một số loại nội dung nổi bật mới. Thuộc tính snippet.type của tài nguyên channelSection hiện hỗ trợ các giá trị sau:

    • postedPlaylists - danh sách phát mà chủ sở hữu kênh đã đăng lên nguồn cấp dữ liệu hoạt động của kênh
    • postedVideos – video mà chủ sở hữu kênh đã đăng lên nguồn cấp dữ liệu hoạt động của kênh
    • subscriptions – những kênh mà chủ sở hữu kênh đã đăng ký

  • Thuộc tính contentDetails.contentRating.ifcoRating mới của tài nguyên video xác định mức phân loại mà một video nhận được từ Cơ quan phân loại phim Ireland.

  • Định nghĩa về thuộc tính position.cornerPosition của tài nguyên watermark đã được cập nhật để lưu ý rằng hình mờ luôn xuất hiện ở góc trên bên phải của trình phát.

  • Định nghĩa của tham số q cho phương thức search.list đã được cập nhật để lưu ý rằng cụm từ truy vấn có thể sử dụng toán tử Boolean NOT (-) để loại trừ video được liên kết với một cụm từ tìm kiếm cụ thể. Giá trị này cũng có thể sử dụng toán tử Boolean OR (|) để tìm các video được liên kết với một trong nhiều cụm từ tìm kiếm.

  • Định nghĩa của thuộc tính pageInfo.totalResults được trả về trong phản hồi API cho lệnh gọi search.list đã được cập nhật để lưu ý rằng giá trị này chỉ là giá trị gần đúng và có thể không biểu thị cho một giá trị chính xác. Ngoài ra, giá trị tối đa là 1.000.000. Bạn không nên sử dụng giá trị này để tạo các đường liên kết phân trang. Thay vào đó, hãy sử dụng các giá trị thuộc tính nextPageTokenprevPageToken để xác định xem có hiển thị các đường liên kết phân trang hay không.

  • Các phương thức watermarks.setwatermarks.unset đã được cập nhật để phản ánh việc API trả về mã phản hồi 204 HTTP cho các yêu cầu thành công đối với các phương thức đó.

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

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

  • Tài nguyên i18nLanguage mới xác định ngôn ngữ ứng dụng mà trang web YouTube hỗ trợ. Ngôn ngữ ứng dụng cũng có thể được gọi là ngôn ngữ giao diện người dùng. Đối với trang web YouTube, ngôn ngữ ứng dụng có thể được tự động chọn dựa trên chế độ cài đặt Tài khoản Google, ngôn ngữ trình duyệt hoặc vị trí IP. Người dùng cũng có thể tự chọn ngôn ngữ giao diện người dùng mong muốn trong chân trang của trang web YouTube.

    API này hỗ trợ phương thức để liệt kê các ngôn ngữ được hỗ trợ của ứng dụng. Bạn có thể dùng ngôn ngữ được hỗ trợ làm giá trị của tham số hl khi gọi các phương thức API như videoCategories.listguideCategories.list.

  • Tài nguyên i18nRegion mới xác định một khu vực địa lý mà người dùng YouTube có thể chọn làm khu vực xem nội dung ưu tiên. Khu vực nội dung cũng có thể được gọi là ngôn ngữ nội dung. Đối với trang web YouTube, hệ thống có thể tự động chọn một khu vực nội dung dựa trên các phương pháp phỏng đoán như miền YouTube hoặc vị trí địa lý theo địa chỉ IP của người dùng. Ngoài ra, người dùng cũng có thể tự chọn khu vực nội dung mong muốn trong chân trang của trang web YouTube.

    API này hỗ trợ một phương thức để liệt kê những khu vực nội dung được hỗ trợ. Bạn có thể sử dụng mã khu vực được hỗ trợ làm giá trị của tham số regionCode khi gọi các phương thức API như search.list, videos.list, activities.listvideoCategories.list.

Ngày 7 tháng 4 năm 2014

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

  • Tài nguyên channelSection mới chứa thông tin về một nhóm video mà một kênh đã chọn giới thiệu. Ví dụ: Phần kênh có thể giới thiệu các video tải lên mới nhất, các video tải lên phổ biến nhất của một kênh hoặc các video thuộc một hoặc nhiều danh sách phát.

    API này hỗ trợ các phương thức để liệt kê, chèn, cập nhật hoặc xoá các phần kênh. Bạn có thể truy xuất danh sách các phần kênh cho kênh của người dùng đã xác thực, bằng cách chỉ định một ID kênh cụ thể hoặc bằng cách chỉ định một danh sách ID phần kênh duy nhất.

    Tài liệu về lỗi cũng được cập nhật để mô tả các thông báo lỗi mà API hỗ trợ riêng cho các phương thức mới này.

  • Định nghĩa của đối tượng fileDetails của tài nguyên video đã được cập nhật để giải thích rằng đối tượng đó sẽ chỉ được trả về nếu thuộc tính processingDetails.fileDetailsAvailability của video có giá trị là available.

    Tương tự, định nghĩa của đối tượng suggestions của tài nguyên video đã được cập nhật để giải thích rằng đối tượng đó sẽ chỉ được trả về nếu thuộc tính processingDetails.tagSuggestionsAvailability của video hoặc thuộc tính processingDetails.editorSuggestionsAvailability của video có giá trị là available.

  • Tài liệu cho các phương thức videos.insertvideos.update đã được cập nhật để phản ánh rằng bạn có thể đặt thuộc tính status.publishAt khi gọi các phương thức đó.

  • Định nghĩa về đối tượng invideoPromotion của tài nguyên channel đã được cập nhật để giải thích rằng chỉ chủ sở hữu kênh mới có thể truy xuất đối tượng.

  • Danh sách tham số cho phương thức videos.rate đã được cập nhật để phản ánh rằng phương thức đó không thực sự hỗ trợ tham số onBehalfOfContentOwner. Đây là lỗi tài liệu vì videos.rate yêu cầu đặt tham số này trả về lỗi 500.

Ngày 31 tháng 3 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

Ngày 13 tháng 3 năm 2014

Bản cập nhật này bao gồm các thay đổi sau:

  • API hiện hỗ trợ phần contentOwnerDetails cho tài nguyên channel. Phần mới này chứa dữ liệu kênh có liên quan đến các đối tác YouTube được liên kết với kênh, bao gồm mã nhận dạng của chủ sở hữu nội dung được liên kết với kênh, cũng như ngày và giờ liên kết chủ sở hữu nội dung và kênh. Xin lưu ý rằng phần mới này không tuân theo chính sách ngừng sử dụng.

  • Tài liệu này hiện liệt kê độ dài ký tự tối đa được hỗ trợ cho các thuộc tính sau:

    Tài nguyên Thuộc tính Số ngày tối đa
    channel invideoPromotion.items[].customMessage 40 ký tự
    video snippet.title 100 ký tự
    video snippet.description 5.000 byte
    video snippet.tags 500 ký tự. Xin lưu ý rằng giá trị thuộc tính là một danh sách và dấu phẩy giữa các mục trong danh sách sẽ được tính vào giới hạn.
  • Thuộc tính brandingSettings.watch.featuredPlaylistId của tài nguyên channel không được dùng nữa. API sẽ trả về lỗi nếu bạn cố gắng đặt giá trị của API.

  • Các thuộc tính tài nguyên video sau đây đã được thêm vào danh sách các giá trị có thể được đặt khi chèn hoặc cập nhật video:

  • 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 này hiện hỗ trợ các lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest (400) invalidCriteria Phương thức channels.list trả về lỗi này nếu yêu cầu chỉ định các tham số bộ lọc không thể sử dụng cùng với nhau.
    badRequest (400) channelTitleUpdateForbidden Phương thức channels.update sẽ trả về lỗi này nếu bạn cố gắng cập nhật phần brandingSettings của kênh và thay đổi giá trị của thuộc tính brandingSettings.channel.title. (Xin lưu ý rằng API sẽ không trả về lỗi nếu bạn bỏ qua thuộc tính này.)
    badRequest (400) invalidRecentlyUploadedBy Phương thức channels.update sẽ trả về lỗi này nếu thuộc tính invideoPromotion.items[].id.recentlyUploadedBy chỉ định mã nhận dạng kênh không hợp lệ.
    badRequest (400) invalidTimingOffset Phương thức channels.update sẽ trả về lỗi này nếu phần invideoPromotion chỉ định độ lệch thời gian không hợp lệ.
    badRequest (400) tooManyPromotedItems Phương thức channels.update sẽ trả về lỗi này nếu phần invideoPromotion chỉ định nhiều hơn số lượng mặt hàng được quảng cáo cho phép.
    forbidden (403) promotedVideoNotAllowed Phương thức channels.update sẽ trả về lỗi này nếu thuộc tính invideoPromotion.items[].id.videoId chỉ định mã video không tìm thấy hoặc không thể dùng làm mục được quảng bá.
    forbidden (403) websiteLinkNotAllowed Phương thức channels.update sẽ trả về lỗi này nếu thuộc tính invideoPromotion.items[].id.websiteUrl chỉ định một URL không được phép.
    required (400) requiredTimingType Phương thức channels.update trả về lỗi này nếu yêu cầu không chỉ định chế độ cài đặt thời gian mặc định cho thời điểm YouTube nên hiển thị một mặt hàng được quảng cáo.
    required (400) requiredTiming Phương thức channels.update phải chỉ định một đối tượng invideoPromotion.items[].timing cho từng mục được quảng bá.
    required (400) requiredWebsiteUrl Phương thức channels.update phải chỉ định một thuộc tính invideoPromotion.items[].id.websiteUrl cho từng mặt hàng được quảng bá.
    badRequest (400) invalidPublishAt Phương thức videos.insert sẽ trả về lỗi này nếu siêu dữ liệu của yêu cầu chỉ định thời điểm xuất bản theo lịch không hợp lệ.

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

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

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

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

  • Tài liệu của phương thức search.list đã được cập nhật để phản ánh chính xác rằng bạn không cần chỉ định giá trị cho đúng một tham số bộ lọc khi gửi yêu cầu tìm kiếm. Thay vào đó, bạn có thể đặt một giá trị cho các tham số bộ lọc bằng 0 hoặc cho một tham số bộ lọc.

  • Định nghĩa cho các tham số của phương thức search.list đã được cập nhật để lưu ý rằng bạn phải đặt giá trị của tham số type thành video nếu bạn cũng chỉ định giá trị cho bất kỳ tham số nào sau đây:

    • eventType
    • videoCaption
    • videoCategoryId
    • videoDefinition
    • videoDimension
    • videoDuration
    • videoEmbeddable
    • videoLicense
    • videoSyndicated
    • videoType

  • Kích thước tối thiểu của hình ảnh biểu ngữ kênh được tải lên đã giảm xuống còn 2048 pixel x 1152 pixel. (Trước đây, kích thước tối thiểu là 2120 px x 1192 px.) Ngoài ra, hãy lưu ý rằng tài liệu về tài nguyên channel chỉ định kích thước tối đa của tất cả ảnh biểu ngữ được phân phát từ API. Ví dụ: kích thước tối đa của hình ảnh brandingSettings.image.bannerTvImageUrl cho ứng dụng truyền hình là 2120px x 1192px, nhưng hình ảnh thực tế có thể là 2048px x 1152px. Trung tâm trợ giúp của YouTube cung cấp thêm hướng dẫn về cách tối ưu hoá hình ảnh kênh để hiển thị trên nhiều loại thiết bị.

  • Một số định nghĩa thuộc tính tài nguyên channel đã được cập nhật để phản ánh thông tin sau:

    • Giá trị của thuộc tính brandingSettings.channel.description có độ dài tối đa là 1.000 ký tự.
    • Thuộc tính brandingSettings.channel.featuredChannelsTitle có độ dài tối đa là 30 ký tự.
    • Giờ đây, tài sản brandingSettings.channel.featuredChannelsUrls[] có thể liệt kê tối đa 100 kênh.
    • Giá trị thuộc tính brandingSettings.channel.unsubscribedTrailer (nếu được đặt) phải chỉ định mã video trên YouTube của một video công khai hoặc không công khai thuộc quyền sở hữu của chủ sở hữu kênh.

  • Phương thức channels.update hiện hỗ trợ cập nhật cho thuộc tính invideoPromotion.items[].promotedByContentOwner. Thuộc tính đó cho biết liệu tên của chủ sở hữu nội dung có hiển thị khi đăng quảng cáo hay không. Bạn chỉ có thể thiết lập thuộc tính này nếu yêu cầu API đặt giá trị thuộc tính được thực hiện thay mặt cho chủ sở hữu nội dung bằng tham số onBehalfOfContentOwner.

  • Phương thức playlistItems.listplaylistItems.insert hiện hỗ trợ tham số onBehalfOfContentOwner, tham số này đã được hỗ trợ cho một số phương thức khác.

  • Giờ đây, thuộc tính contentDetails.contentRating.acbRating có thể chỉ định mức phân loại của Hội đồng phân loại của Úc (ACB) đối với phim hoặc của Cơ quan truyền thông và truyền thông của Úc (ACMA) đối với chương trình truyền hình dành cho trẻ em.

  • Các thuộc tính contentDetails.contentRating.catvRatingcontentDetails.contentRating.catvfrRating mới xác định mức phân loại mà một video nhận được theo Hệ thống phân loại chương trình truyền hình của Canada và hệ thống phân loại Régie du cinéma bằng tiếng Pháp được dùng ở Québec.

  • Thuộc tính snippet.assignable mới của tài nguyên videoCategory cho biết liệu bạn có thể liên kết video đã cập nhật hoặc video mới tải lên với danh mục video đó hay không.

  • Chúng tôi đã thêm mã mẫu cho các phương thức sau:

Ngày 24 tháng 10 năm 2013

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

  • API này có thêm hai tính năng được thiết kế để giúp tìm và giới thiệu nội dung phát trực tiếp:

    Thuộc tính snippet.liveBroadcastContent mới trong kết quả tìm kiếm cho biết liệu một video hoặc tài nguyên kênh có nội dung phát sóng trực tiếp hay không. Các giá trị thuộc tính hợp lệ là upcoming, activenone.

    • Thuộc tính snippet.liveBroadcastContent mới của tài nguyên video cho biết video đó là chương trình phát sóng trực tiếp sắp hay đang hoạt động. Danh sách dưới đây giải thích các giá trị có thể có của thuộc tính:

      • upcoming – Video là một chương trình phát sóng trực tiếp chưa bắt đầu.
      • active – Video là một chương trình phát sóng trực tiếp đang diễn ra.
      • none – Video không phải là sự kiện phát trực tiếp sắp diễn ra hoặc đang diễn ra. Đây sẽ là giá trị thuộc tính cho các chương trình phát sóng đã hoàn tất mà vẫn có thể xem được trên YouTube.

    • Thuộc tính liveStreamingDetails mới của tài nguyên video là một đối tượng chứa siêu dữ liệu về sự kiện phát trực tiếp video. Để truy xuất siêu dữ liệu này, hãy đưa liveStreamingDetails vào danh sách các phần tài nguyên của giá trị tham số part. Siêu dữ liệu bao gồm các thuộc tính mới sau:

      Để truy xuất siêu dữ liệu này, hãy đưa liveStreamingDetails vào giá trị tham số part khi gọi phương thức videos.list, videos.insert hoặc videos.update.

    Xin lưu ý rằng hai tính năng khác để xác định nội dung phát trực tiếp đã được phát hành vào ngày 1 tháng 10 năm 2013 – tham số eventType của phương thức search.list và thuộc tính snippet.liveBroadcastContent của kết quả tìm kiếm.

  • Phương thức videos.insert hiện đã hỗ trợ tham số notifySubscribers. Tham số này cho biết liệu YouTube có nên gửi thông báo về video mới cho những người dùng đăng ký kênh của video đó hay không. Giá trị mặc định của thông số này là True, cho biết rằng người đăng ký sẽ nhận được thông báo về video mới được tải lên. Tuy nhiên, chủ sở hữu kênh tải nhiều video lên có thể nên đặt giá trị này thành False để tránh gửi thông báo về từng video mới cho người đăng ký của kênh.

  • Danh sách các thuộc tính có thể được sửa đổi khi gọi phương thức channels.update đã được cập nhật để bao gồm các thuộc tính invideoPromotion.items[].customMessageinvideoPromotion.items[].websiteUrl. Ngoài ra, danh sách này đã được sửa đổi để xác định các thuộc tính brandingSettings có thể sửa đổi. Các thuộc tính brandingSettings này đã có thể sửa đổi, vì vậy, thay đổi về tài liệu không phản ánh thay đổi đối với chức năng hiện có của API.

  • Phương thức playlists.insert, playlists.updateplaylists.delete hiện hỗ trợ tham số onBehalfOfContentOwner. Tham số này đã được hỗ trợ cho một số phương thức khác.

  • Phương thức playlists.insert hiện hỗ trợ tham số onBehalfOfContentOwnerChannel. Tham số này đã được hỗ trợ cho một số phương thức khác.

  • Thuộc tính contentDetails.contentRating.tvpgRating của tài nguyên video hiện hỗ trợ giá trị pg14, tương ứng với điểm xếp hạng TV-14.

  • Định nghĩa của thuộc tính snippet.liveBroadcastContent (thuộc kết quả tìm kiếm) đã được sửa để cho biết rằng live là một giá trị thuộc tính hợp lệ, nhưng active không phải là một giá trị thuộc tính hợp lệ.

  • Thuộc tính contentDetails.contentRating.mibacRating của tài nguyên video hiện hỗ trợ thêm hai điểm xếp hạng:

    • mibacVap (VAP) – Trẻ em phải có người lớn giám sát.
    • mibacVm6 (V.M.6) – Chỉ dành cho người từ 6 tuổi trở lên.
    • mibacVm12 (V.M.12) – Chỉ dành cho người từ 12 tuổi trở lên.

  • Thuộc tính invideoPromotion.items[].promotedByContentOwner mới của tài nguyên channel cho biết liệu tên của chủ sở hữu nội dung có xuất hiện khi hiển thị quảng cáo hay không. Trường này chỉ có thể được đặt nếu yêu cầu API đặt giá trị được thực hiện thay mặt cho chủ sở hữu nội dung. Hãy xem tham số onBehalfOfContentOwner để biết thêm thông tin.

Ngày 1 tháng 10 năm 2013

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

  • Đối tượng auditDetails mới của tài nguyên channel chứa dữ liệu kênh mà mạng đa kênh (MCN) sẽ đánh giá trong khi xác định xem có chấp nhận hay từ chối một kênh cụ thể hay không. Lưu ý rằng mọi yêu cầu API truy xuất phần tài nguyên này đều phải cung cấp mã thông báo uỷ quyền có chứa phạm vi https://www.googleapis.com/auth/youtubepartner-channel-audit. Ngoài ra, chúng tôi phải thu hồi mọi mã thông báo thuộc phạm vi đó khi mạng đa kênh quyết định chấp nhận hay từ chối kênh hoặc trong vòng 2 tuần kể từ ngày phát hành mã thông báo.

  • Thuộc tính invideoPromotion.items[].id.type của tài nguyên channel hiện hỗ trợ giá trị recentUpload. Giá trị này cho biết mục được quảng bá là video được tải lên gần đây nhất từ một kênh cụ thể.

    Theo mặc định, kênh đó giống với kênh mà hệ thống đặt dữ liệu quảng cáo trong video. Tuy nhiên, bạn có thể quảng bá video mới tải lên gần đây nhất từ một kênh khác bằng cách đặt giá trị của thuộc tính invideoPromotion.items[].id.recentlyUploadedBy mới thành mã nhận dạng kênh của kênh đó.

  • Tài nguyên channel chứa ba thuộc tính mới – brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl, brandingSettings.image.bannerTvHighImageUrl – chỉ định URL cho hình ảnh biểu ngữ xuất hiện trên các trang kênh trong ứng dụng truyền hình.

  • Thuộc tính snippet.liveBroadcastContent mới trong kết quả tìm kiếm cho biết liệu một video hoặc tài nguyên kênh có nội dung phát sóng trực tiếp hay không. Các giá trị thuộc tính hợp lệ là upcoming, activenone.

    • Đối với tài nguyên video, giá trị upcoming cho biết video là một chương trình phát trực tiếp chưa bắt đầu, trong khi giá trị active cho biết video là một chương trình phát trực tiếp đang diễn ra.
    • Đối với tài nguyên channel, giá trị upcoming cho biết kênh có chương trình phát sóng đã lên lịch chưa bắt đầu, trong khi giá trị acive cho biết kênh có chương trình phát sóng trực tiếp đang diễn ra.

  • Trong tài nguyên watermark, thuộc tính targetChannelId đã thay đổi từ đối tượng thành chuỗi. Thay vì chứa tài sản con chỉ định mã nhận dạng kênh YouTube của kênh mà hình mờ liên kết đến, thuộc tính targetChannelId giờ đây chỉ định chính giá trị đó. Do đó, thuộc tính targetChannelId.value của tài nguyên này đã bị xoá.

  • Phương thức thumbnails.set hiện hỗ trợ tham số onBehalfOfContentOwner. Tham số này đã được hỗ trợ cho một số phương thức khác.

  • Phương thức search.list hiện hỗ trợ tham số eventType. Tham số này hạn chế việc tìm kiếm chỉ trả về các sự kiện phát sóng đang hoạt động, sắp diễn ra hoặc đã hoàn tất.

  • Thuộc tính contentDetails.contentRating.mibacRating mới xác định mức phân loại mà một video nhận được từ Bộ Di sản, Hoạt động văn hoá và Du lịch của Ý.

  • API này hiện hỗ trợ các lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest invalidImage Phương thức thumbnails.set sẽ trả về lỗi này nếu nội dung hình ảnh được cung cấp không hợp lệ.
    forbidden videoRatingDisabled Phương thức videos.rate sẽ trả về lỗi này nếu chủ sở hữu của video đang được phân loại đã tắt tính năng phân loại cho video đó.

Ngày 27 tháng 8 năm 2013

Bản cập nhật này bao gồm các thay đổi sau:

  • Tài nguyên watermark mới xác định một hình ảnh hiển thị trong các lần phát video của một kênh cụ thể. Bạn cũng có thể chỉ định một kênh mục tiêu mà hình ảnh sẽ liên kết đến, cũng như thông tin chi tiết về thời gian xác định thời điểm hình mờ xuất hiện trong khi phát video và thời lượng hiển thị hình mờ.

    Phương thức watermarks.set tải lên và đặt hình mờ của kênh. Phương thức watermarks.unset sẽ xoá hình mờ của một kênh.

    Tài liệu về lỗi mô tả thông báo lỗi mà API hỗ trợ cụ thể cho các phương thức watermarks.setwatermarks.unset.

  • Thuộc tính statistics.hiddenSubscriberCount mới của tài nguyên channel chứa giá trị boolean cho biết số người đăng ký của kênh có bị ẩn hay không. Do đó, giá trị của thuộc tính này là false nếu số người đăng ký của kênh hiển thị công khai.

  • Phương thức playlists.list hiện hỗ trợ các tham số onBehalfOfContentOwneronBehalfOfContentOwnerChannel. Cả hai tham số này đều được hỗ trợ cho một số phương thức khác.

  • Phương thức videos.list hiện đã hỗ trợ tham số regionCode, giúp xác định khu vực nội dung mà biểu đồ sẽ được truy xuất. Bạn chỉ có thể sử dụng tham số này cùng với tham số chart. Giá trị thông số là mã quốc gia theo ISO 3166-1 alpha-2.

  • error documentation mô tả lỗi yêu cầu phổ biến mới sau đây, có thể xảy ra với nhiều phương thức API:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    forbidden insufficientPermissions Các phạm vi liên kết với mã thông báo OAuth 2.0 được cung cấp cho yêu cầu không đủ để truy cập vào dữ liệu được yêu cầu.

Ngày 15 tháng 8 năm 2013

Bản cập nhật này bao gồm các thay đổi sau:

  • Đối tượng invideoPromotion của tài nguyên channel có các thuộc tính mới và được cập nhật sau:

    • API này hiện hỗ trợ khả năng chỉ định một trang web làm mặt hàng được quảng bá. Để thực hiện việc này, hãy thiết lập giá trị thuộc tính invideoPromotion.items[].id.type thành website và sử dụng thuộc tính invideoPromotion.items[].id.websiteUrl mới để chỉ định URL. Ngoài ra, hãy sử dụng thuộc tính invideoPromotion.items[].customMessage mới để xác định một thông điệp tuỳ chỉnh cần hiển thị cho chương trình khuyến mãi.

      Đường liên kết có thể dẫn đến các trang web được liên kết, trang web của người bán hoặc trang web mạng xã hội. Hãy xem hướng dẫn trong Trung tâm trợ giúp của YouTube dành cho trang web được liên kếttrang web thương mại để biết thêm thông tin về cách bật tính năng liên kết cho nội dung của bạn.

      Khi thêm đường liên kết quảng bá, bạn đồng ý rằng những đường liên kết đó sẽ không được dùng để chuyển hướng lưu lượng truy cập đến các trang web trái phép và những đường liên kết đó sẽ tuân thủ chính sách của AdWords, chính sách quảng cáo của YouTube, Nguyên tắc cộng đồng của YouTubeĐiều khoản dịch vụ của YouTube.

    • Chúng tôi đã sắp xếp lại cấu trúc các thuộc tính liên quan đến chế độ cài đặt thời gian để hiển thị các mặt hàng được quảng bá trong quá trình phát video:

      • Đối tượng invideoPromotion.timing đã được di chuyển sang invideoPromotion.items[].timing. Đối tượng này hiện cho phép bạn tuỳ chỉnh dữ liệu về thời gian cho từng mục được quảng cáo trong danh sách invideoPromotion.items[].

      • Đối tượng invideoPromotion.defaultTiming mới chỉ định chế độ cài đặt thời gian mặc định cho chương trình khuyến mãi của bạn. Những chế độ cài đặt này xác định thời điểm một mục được quảng cáo xuất hiện trong thời gian phát một video trên kênh của bạn. Bạn có thể ghi đè thời gian mặc định cho bất kỳ mục được quảng bá nào bằng cách sử dụng đối tượng invideoPromotion.items[].timing.

      • Thuộc tính invideoPromotion.items[].timing.durationMs mới chỉ định khoảng thời gian (tính bằng mili giây) mà chương trình khuyến mãi sẽ hiển thị. Đối tượng invideoPromotion.defaultTiming cũng chứa trường durationMs chỉ định khoảng thời gian mặc định mà mục được quảng bá sẽ hiển thị.

    • Cả hai thuộc tính invideoPromotion.items[].typeinvideoPromotion.items[].videoId đều đã được chuyển vào đối tượng invideoPromotion.items[].id.

  • Phương thức subscriptions.list hiện hỗ trợ các tham số onBehalfOfContentOwneronBehalfOfContentOwnerChannel. Cả hai tham số này đều được hỗ trợ cho một số phương thức khác.

  • Trong phản hồi API cho yêu cầu thumbnails.set, giá trị thuộc tính kind đã thay đổi từ youtube#thumbnailListResponse thành youtube#thumbnailSetResponse.

  • Chúng tôi đã thêm mã mẫu cho các phương thức sau:

    Xin lưu ý rằng ví dụ về Python cho phương thức playlistItems.insert cũng đã bị xoá vì chức năng mà ví dụ này minh hoạ hiện được phương thức videos.rate xử lý.

  • error documentation mô tả lỗi ngữ cảnh yêu cầu mới sau đây. Lỗi này có thể xảy ra với bất kỳ phương thức API nào hỗ trợ tham số yêu cầu mine:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest invalidMine Bạn không được sử dụng tham số mine trong các yêu cầu mà người dùng đã xác thực là đối tác của YouTube. Bạn nên xoá tham số mine, xác thực tư cách người dùng YouTube bằng cách xoá tham số onBehalfOfContentOwner hoặc đóng vai trò là một trong các kênh của đối tác bằng cách cung cấp tham số onBehalfOfContentOwnerChannel nếu phương thức được gọi có thể sử dụng.

Ngày 8 tháng 8 năm 2013

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

Ngày 30 tháng 7 năm 2013

Bản cập nhật này bao gồm các thay đổi sau:

  • Trong tài nguyên channelBanner, giá trị của thuộc tính kind đã thay đổi từ youtube#channelBannerInsertResponse thành youtube#channelBannerResource. Tài nguyên này được trả về để phản hồi yêu cầu channelBanners.insert.

  • Thuộc tính brandingSettings.channel.profileColor mới của tài nguyên channel chỉ định một màu nổi bật để bổ sung cho nội dung của kênh. Giá trị thuộc tính là dấu thăng (#) theo sau là chuỗi thập lục phân gồm 6 ký tự, chẳng hạn như #2793e6.

  • API hiện hỗ trợ việc chỉ định xem một lượt đăng ký là dành cho tất cả hoạt động của một kênh hay chỉ dành cho các video tải lên mới. Thuộc tính contentDetails.activityType mới của tài nguyên subscription xác định các loại hoạt động mà người đăng ký sẽ được thông báo. Các giá trị thuộc tính hợp lệ là alluploads.

  • Phương thức videos.list hỗ trợ các tham số mới để truy xuất bảng xếp hạng các video phổ biến nhất trên YouTube:

    • Tham số chart xác định biểu đồ mà bạn muốn truy xuất. Hiện tại, giá trị duy nhất được hỗ trợ là mostPopular. Xin lưu ý rằng tham số chart là một tham số bộ lọc, nghĩa là bạn không thể sử dụng tham số này trong cùng một yêu cầu với các tham số bộ lọc khác (idmyRating).
    • Tham số videoCategoryId xác định danh mục video mà bạn muốn truy xuất biểu đồ. Bạn chỉ có thể sử dụng tham số này cùng với tham số chart. Theo mặc định, biểu đồ không bị hạn chế đối với một danh mục cụ thể.

  • Thuộc tính topicDetails.relevantTopicIds[] mới của tài nguyên video cung cấp một danh sách mã chủ đề Freebase có liên quan đến video hoặc nội dung của video. Các chủ đề này có thể được đề cập hoặc xuất hiện trong video.

  • Thuộc tính recordingDetails.location.elevation của tài nguyên video đã được đổi tên thành recordingDetails.location.altitude và thuộc tính fileDetails.recordingLocation.location.elevation của tài nguyên này đã được đổi tên thành fileDetails.recordingLocation.location.altitude.

  • Đối tượng contentDetails.contentRating của tài nguyên video chỉ định mức phân loại mà một video nhận được theo nhiều hệ thống phân loại, bao gồm cả mức phân loại của MPAA, TVPG, v.v. Đối với mỗi hệ thống phân loại, API hiện hỗ trợ giá trị phân loại cho biết video chưa được phân loại. Xin lưu ý rằng đối với mức phân loại của MPAA, mức phân loại "chưa được xếp hạng" thường được dùng để xác định các phiên bản chưa cắt của những bộ phim có phiên bản cắt giảm đã nhận được mức phân loại chính thức.

  • Thuộc tính contentDetails.contentRating.ytRating mới của tài nguyên video xác định nội dung bị giới hạn độ tuổi. Giá trị thuộc tính này sẽ là ytAgeRestricted nếu YouTube xác định video đó chứa nội dung không phù hợp với người dùng dưới 18 tuổi. Nếu không có thuộc tính này hoặc nếu giá trị của thuộc tính này là trống, thì nội dung đó chưa được xác định là nội dung có giới hạn độ tuổi.

  • Tham số mySubscribers của phương thức channels.list không còn được dùng nữa. Sử dụng phương thức subscriptions.list và tham số mySubscribers của phương thức này để truy xuất danh sách người đăng ký kênh của người dùng đã xác thực.

  • Các phương thức channelBanners.insert, channels.update, videos.getRatingvideos.rate hiện đều hỗ trợ tham số onBehalfOfContentOwner. Thông số đó cho biết rằng người dùng đã xác thực đang thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị thông số.

  • Tài liệu của phương thức channels.update đã được cập nhật để phản ánh thực tế là phương thức đó có thể được dùng để cập nhật đối tượng brandingSettings của tài nguyên channel và các thuộc tính con của đối tượng đó. Tài liệu hiện cũng liệt kê danh sách các thuộc tính đã cập nhật mà bạn có thể đặt cho đối tượng invideoPromotion của tài nguyên channel.

  • error documentation mô tả các lỗi mới sau đây:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    forbidden accountDelegationForbidden Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Thông báo này cho biết người dùng đã xác thực không được uỷ quyền hành động thay mặt cho Tài khoản Google được chỉ định.
    forbidden authenticatedUserAccountClosed Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Mã này cho biết tài khoản YouTube của người dùng đã xác thực đã bị đóng. Nếu người dùng đang thay mặt cho một Tài khoản Google khác, thì lỗi này cho biết rằng tài khoản khác đó đã bị đóng.
    forbidden authenticatedUserAccountSuspended Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Mã này cho biết tài khoản YouTube của người dùng đã xác thực bị tạm ngưng. Nếu người dùng đang hành động thay mặt cho một Tài khoản Google khác, thì lỗi này sẽ cho biết rằng tài khoản đó đang bị tạm ngưng.
    forbidden authenticatedUserNotChannel Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Lỗi này cho biết máy chủ API không thể xác định kênh được liên kết với yêu cầu API. Nếu yêu cầu được uỷ quyền và sử dụng tham số onBehalfOfContentOwner, thì bạn cũng nên đặt tham số onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Người dùng CMS không được phép hành động thay mặt cho chủ sở hữu nội dung đã chỉ định.
    notFound contentOwnerAccountNotFound Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Không tìm thấy tài khoản chủ sở hữu nội dung được chỉ định.
    badRequest invalidPart Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Tham số part của yêu cầu chỉ định các phần không thể được ghi cùng một lúc.
    badRequest videoChartNotFound Phương thức videos.list trả về lỗi này khi yêu cầu chỉ định một biểu đồ video không được hỗ trợ hoặc không hoạt động.
    notFound videoNotFound Phương thức videos.update trả về lỗi này để cho biết không tìm thấy video bạn đang cố gắng cập nhật. Kiểm tra giá trị của thuộc tính id trong phần nội dung yêu cầu để đảm bảo giá trị đó chính xác.

Ngày 10 tháng 6 năm 2013

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

  • Tham số forUsername mới của phương thức channels.list cho phép bạn truy xuất thông tin về một kênh bằng cách chỉ định tên người dùng YouTube của kênh đó.

  • Phương thức activities.list hiện đã hỗ trợ tham số regionCode để hướng dẫn API trả về kết quả có liên quan đến quốc gia đã chỉ định. YouTube sử dụng giá trị này khi hoạt động trước đây của người dùng được cấp phép trên YouTube không cung cấp đủ thông tin để tạo nguồn cấp dữ liệu hoạt động.

  • Tài nguyên danh sách phát hiện chứa thuộc tính snippet.tags. Thuộc tính này sẽ chỉ được trả về cho những người dùng được uỷ quyền đang truy xuất dữ liệu về danh sách phát của chính họ. Người dùng được uỷ quyền cũng có thể đặt thẻ danh sách phát khi gọi phương thức playlists.insert hoặc playlists.update.

  • Tham số onBehalfOfContentOwner trước đây được hỗ trợ cho các phương thức channels.listsearch.list, hiện cũng được hỗ trợ cho các phương thức videos.insert, videos.updatevideos.delete. Xin lưu ý rằng khi tham số này được dùng trong lệnh gọi đến phương thức videos.insert, yêu cầu cũng phải chỉ định giá trị cho tham số onBehalfOfContentOwnerChannel mới. Tham số này xác định kênh mà video sẽ được thêm vào. Kênh phải liên kết với chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định.

    Thông số này cho biết rằng thông tin xác thực uỷ quyền của yêu cầu xác định một người dùng CMS của YouTube đang thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị thông số. Tài khoản CMS mà người dùng xác thực phải được liên kết với chủ sở hữu nội dung YouTube được chỉ định.

    Thông số này dành cho các đối tác nội dung sở hữu và quản lý nhiều kênh YouTube. Tham số này cho phép các đối tác đó xác thực một lần và có quyền truy cập vào tất cả dữ liệu video và kênh của họ mà không cần phải cung cấp thông tin xác thực cho từng kênh.

    Riêng đối với bản phát hành này, thông số này hiện cho phép đối tác nội dung chèn, cập nhật hoặc xoá video trong bất kỳ kênh YouTube nào mà đối tác sở hữu.

  • error documentation mô tả các lỗi mới sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    forbidden insufficientCapabilities Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Cảnh báo này cho biết người dùng CMS gọi API không có đủ quyền để thực hiện thao tác theo yêu cầu. Lỗi này có liên quan đến việc sử dụng tham số onBehalfOfContentOwner được hỗ trợ cho một số phương thức API.
    unauthorized authorizationRequired Phương thức activities.list trả về lỗi này khi yêu cầu sử dụng tham số home nhưng không được uỷ quyền đúng cách.
  • Trong tài nguyên channels, thuộc tính invideoPromotion.channelId đã bị xoá vì mã nhận dạng kênh đã được chỉ định bằng thuộc tính id của tài nguyên.

  • Hướng dẫn mới Làm việc với mã nhận dạng kênh giải thích cách API này sử dụng mã nhận dạng kênh. Hướng dẫn này có thể đặc biệt hữu ích cho những nhà phát triển di chuyển từ phiên bản API trước đó và có các ứng dụng yêu cầu nội dung cho người dùng default hoặc dựa trên quan niệm rằng mọi kênh YouTube đều có tên người dùng duy nhất (hiện không còn đúng nữa).

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

Bản cập nhật này bao gồm các thay đổi sau:

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

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

  • Các trang độc lập hiện liệt kê mã mẫu cho Java, .NET, PHPRuby.

  • Trang liệt kê các mã mẫu Python hiện đã có các ví dụ về cách thêm gói đăng ký, tạo danh sách phát và cập nhật video.

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 8 tháng 5 năm 2013

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

  • Tài nguyên kênh hiện hỗ trợ đối tượng inVideoPromotion. Đối tượng này bao gồm thông tin về chiến dịch quảng bá liên kết với kênh. Kênh có thể sử dụng chiến dịch quảng cáo trong video để hiển thị hình thu nhỏ cho một video quảng cáo trong trình phát video trong thời gian phát các video của kênh.

    Bạn có thể truy xuất dữ liệu này bằng cách đưa invideoPromotion vào giá trị tham số part trong yêu cầu channels.list.

  • Phương thức channels.update mới có thể dùng để cập nhật dữ liệu chiến dịch quảng bá trong video của kênh. Xin lưu ý rằng phương thức này chỉ hỗ trợ cập nhật cho phần invideoPromotion của tài nguyên channel và chưa hỗ trợ cập nhật cho các phần khác của tài nguyên đó.

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

Bản cập nhật này bao gồm các thay đổi sau:

  • Tài nguyên kênh hiện hỗ trợ thuộc tính status.isLinked cho biết dữ liệu kênh có nhận dạng người dùng đã được liên kết với tên người dùng YouTube hay tài khoản Google+ hay không. Người dùng có một trong những đường liên kết này đã có danh tính công khai trên YouTube. Đây là điều kiện tiên quyết để thực hiện một số hành động, chẳng hạn như tải video lên.

  • Tài nguyên về gói thuê bao hiện hỗ trợ phần subscriberSnippet. Đối tượng đó đóng gói chứa dữ liệu đoạn mã cho kênh của người đăng ký.

  • API này hiện hỗ trợ phương thức videos.getRating, giúp truy xuất điểm xếp hạng mà người dùng đã xác thực đưa ra trong một danh sách gồm một hoặc nhiều video.

  • Tham số myRating mới của phương thức videos.list cho phép bạn truy xuất danh sách video mà người dùng đã xác thực đã xếp hạng với mức phân loại like hoặc dislike.

    Tham số myRating và tham số id hiện được coi là tham số bộ lọc, nghĩa là một yêu cầu API phải chỉ định chính xác một trong các tham số đó. (Trước đây, tham số id là tham số bắt buộc đối với phương thức này.)

    Phương thức này sẽ trả về lỗi forbidden đối với các yêu cầu cố gắng truy xuất thông tin phân loại video nhưng không được cho phép một cách thích hợp.

  • Với sự ra mắt của tham số myRating, phương thức videos.list cũng đã được cập nhật để hỗ trợ tính năng phân trang. Tuy nhiên, xin lưu ý rằng các tham số phân trang chỉ được hỗ trợ cho các yêu cầu sử dụng tham số myRating. (Thông tin và tham số phân trang không được hỗ trợ cho các yêu cầu sử dụng tham số id.)

    • Tham số maxResults chỉ định số lượng video tối đa mà API có thể trả về trong nhóm kết quả và tham số pageToken xác định một trang cụ thể trong nhóm kết quả mà bạn muốn truy xuất.

    • Tài nguyên youtube#videoListResponse được trả về để phản hồi một yêu cầu videos.list, hiện chứa đối tượng pageInfo. Đối tượng này chứa các thông tin chi tiết như tổng số kết quả và số lượng kết quả có trong nhóm kết quả hiện tại. Tài nguyên youtube#videoListResponse cũng có thể bao gồm các thuộc tính nextPageTokenprevPageToken, mỗi thuộc tính cung cấp một mã thông báo có thể dùng để truy xuất một trang cụ thể trong tập hợp kết quả.

  • Phương thức videos.insert hỗ trợ các tham số mới sau:

    • autoLevels – Đặt giá trị tham số này thành true để hướng dẫn YouTube tự động cải thiện độ sáng và màu sắc của video.
    • stabilize – Đặt giá trị tham số này thành true để hướng dẫn YouTube điều chỉnh video bằng cách loại bỏ hiện tượng rung do chuyển động của máy ảnh.

  • Thuộc tính channelTitle đã được thêm vào snippet cho các tài nguyên sau:

    • playlistItem – Thuộc tính này chỉ định tên của kênh đã thêm mục danh sách phát.
    • playlist – Thuộc tính này chỉ định tên của kênh đã tạo danh sách phát.
    • subscription – Thuộc tính chỉ định tên của kênh được đăng ký.

  • Thêm mã mẫu cho các phương thức sau:

  • Tham số mySubscribers mới của phương thức subscriptions.list cho phép bạn truy xuất danh sách người đăng ký của người dùng hiện đã được xác thực. Bạn chỉ có thể sử dụng tham số này trong yêu cầu được uỷ quyền thích hợp.

    Lưu ý: Chức năng này nhằm thay thế tham số mySubscribers hiện được hỗ trợ cho phương thức channels.list. Tham số đó sẽ không được dùng nữa.

  • Trong tài nguyên video, giá trị thuộc tính unspecified không còn là giá trị có thể có cho bất kỳ thuộc tính nào sau đây:

  • Các yêu cầu API chứa tham số không mong muốn hiện sẽ trả về lỗi badRequest và lý do được báo cáo cho lỗi này là unexpectedParameter.

  • Lỗi mà phương thức playlistItems.insert trả về khi danh sách phát đã chứa số lượng mục được phép tối đa đã được cập nhật. Lỗi này hiện được báo cáo là lỗi forbidden và nguyên nhân gây ra lỗi là playlistContainsMaximumNumberOfVideos.

Ngày 19 tháng 4 năm 2013

Bản cập nhật này bao gồm các thay đổi sau:

  • Phương thức videos.rate mới cho phép người dùng đặt mức xếp hạng like hoặc dislike cho một video hoặc xoá thông tin xếp hạng khỏi video.

    Tài liệu về lỗi cũng đã được cập nhật để liệt kê các lỗi mà API có thể trả về để phản hồi lệnh gọi phương thức videos.rate.

  • Hình thu nhỏ hiện được xác định trong tài liệu API là một tài nguyên riêng, đồng thời phương thức thumbnails.set mới cho phép bạn tải hình thu nhỏ video tùy chỉnh lên YouTube và đặt hình thu nhỏ đó cho video.

    Tài liệu về lỗi cũng đã được cập nhật để liệt kê các lỗi mà API có thể trả về để phản hồi lệnh gọi phương thức thumbnails.set.

    Lưu ý rằng thay đổi này không thực sự ảnh hưởng đến các tài nguyên hiện có trả về hình thu nhỏ. Hình ảnh thu nhỏ được trả về trong các tài nguyên đó theo cách tương tự như trước đây, mặc dù tài liệu giờ đây liệt kê tên của các kích thước hình thu nhỏ khác nhau mà API có thể trả về.

  • Phần brandingSettings mới của tài nguyên channel xác định chế độ cài đặt, văn bản và hình ảnh cho trang kênh và trang xem video của kênh.

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

    • Đối tượng status mới đóng gói thông tin trạng thái về mục trong danh sách phát còn thuộc tính status.privacyStatus xác định trạng thái quyền riêng tư của mục đó trong danh sách phát.

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

  • Tài liệu của phương thức playlistItems.update đã được cập nhật để phản ánh thực tế là thuộc tính snippet.resourceId phải được chỉ định trong tài nguyên được gửi dưới dạng nội dung yêu cầu.

  • Phương thức search.list hiện hỗ trợ chức năng sau:

    • Thông số forMine mới giới hạn nội dung tìm kiếm chỉ truy xuất video của người dùng đã xác thực.

    • Tham số order hiện hỗ trợ khả năng sắp xếp kết quả theo thứ tự bảng chữ cái của tiêu đề (order=title) hoặc theo số lượng video theo thứ tự giảm dần (order=videoCount).

    • Tham số safeSearch mới cho biết liệu kết quả tìm kiếm có nên bao gồm nội dung bị hạn chế hay không.

  • Phương thức videos.insert hỗ trợ một số lỗi mới được liệt kê trong bảng dưới đây:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest invalidCategoryId Thuộc tính snippet.categoryId chỉ định mã danh mục không hợp lệ. Sử dụng phương thức videoCategories.list để truy xuất các danh mục được hỗ trợ.
    badRequest invalidRecordingDetails metadata specifies invalid recording details.
    badRequest invalidVideoGameRating Siêu dữ liệu yêu cầu chỉ định mức phân loại trò chơi điện tử không hợp lệ.
    badRequest invalidVideoMetadata Siêu dữ liệu của yêu cầu không hợp lệ.
  • Tham số onBehalfOfContentOwner đã bị xoá khỏi danh sách tham số được hỗ trợ cho các phương thức videos.updatevideos.delete.

Ngày 12 tháng 3 năm 2013

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

  • Thuộc tính channelTitle đã được thêm vào snippet cho các tài nguyên sau:

    • activity – Thuộc tính chỉ định tên của kênh chịu trách nhiệm về hoạt động.
    • search – Thuộc tính này chỉ định tên của kênh được liên kết với tài nguyên mà kết quả tìm kiếm xác định.
    • video – Thuộc tính này chỉ định tên của kênh đã tải video lên.

  • Phương thức search.list hỗ trợ các tham số mới sau đây:

    • Tham số channelType cho phép bạn giới hạn hoạt động tìm kiếm các kênh để truy xuất tất cả các kênh hoặc chỉ truy xuất các chương trình.

    • Tham số videoType cho phép bạn hạn chế tìm kiếm video để truy xuất tất cả video hoặc chỉ truy xuất phim hoặc chỉ truy xuất các tập của chương trình.

  • Chúng tôi đã cập nhật định nghĩa của phần recordingDetails của tài nguyên video để lưu ý rằng đối tượng này sẽ chỉ được trả về cho một video nếu bạn đã đặt dữ liệu vị trí địa lý hoặc thời gian quay video.

  • Phương thức playlistItems.update hiện trả về một lỗi invalidSnippet. Lỗi này sẽ được trả về nếu yêu cầu API không chỉ định một đoạn mã hợp lệ.

  • Một số phương thức API hỗ trợ các tham số mới dành riêng cho đối tác nội dung của YouTube. Đối tác nội dung của YouTube bao gồm các hãng phim và truyền hình, hãng thu âm cũng như những nhà sáng tạo nội dung khác cung cấp nội dung của họ trên YouTube.

    • Tham số onBehalfOfContentOwner cho biết thông tin cấp phép của yêu cầu xác định một người dùng YouTube CMS đang hành động thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị thông số. Tài khoản CMS mà người dùng xác thực phải được liên kết với chủ sở hữu nội dung YouTube được chỉ định.

      Thông số này dành cho các đối tác nội dung sở hữu và quản lý nhiều kênh YouTube. Thông số này cho phép các đối tác đó xác thực một lần và có quyền truy cập vào tất cả dữ liệu video và kênh của họ mà không cần phải cung cấp thông tin xác thực cho từng kênh.

      Phương thức channels.list, search.list, videos.delete, videos.listvideos.update đều hỗ trợ tham số này.

    • Tham số managedByMe do phương thức channels.list hỗ trợ sẽ hướng dẫn API trả về tất cả các kênh do chủ sở hữu nội dung sở hữu mà tham số onBehalfOfContentOwner chỉ định.

    • Thông số forContentOwner do phương thức search.list hỗ trợ sẽ hướng dẫn API hạn chế kết quả tìm kiếm chỉ bao gồm các tài nguyên thuộc sở hữu của chủ sở hữu nội dung mà thông số onBehalfOfContentOwner chỉ định.

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

Bản cập nhật này bao gồm các thay đổi sau:

  • API này hỗ trợ một số phần và thuộc tính mới cho các tài nguyên video:

    • Các phần fileDetails, processingDetailssuggestions mới cung cấp thông tin cho chủ sở hữu video về các video mà họ đã tải lên. Dữ liệu này rất hữu ích trong các ứng dụng cho phép tải video lên và bao gồm những nội dung sau:

      • trạng thái và tiến trình xử lý
      • lỗi hoặc các vấn đề khác gặp phải trong quá trình xử lý video
      • phạm vi cung cấp hình thu nhỏ
      • các đề xuất để cải thiện chất lượng video hoặc siêu dữ liệu
      • thông tin chi tiết về tệp gốc được tải lên YouTube

      Chỉ chủ sở hữu video mới có thể truy xuất tất cả các phần này. Danh sách bên dưới mô tả ngắn gọn các phần mới và tài liệu tài nguyên video xác định tất cả các thuộc tính mà mỗi phần chứa.

      • Đối tượng fileDetails chứa thông tin về tệp video đã được tải lên YouTube, bao gồm cả độ phân giải, thời lượng, bộ mã hoá và giải mã âm thanh và video, tốc độ bit của luồng dữ liệu, v.v.

      • Đối tượng processingProgress chứa thông tin về tiến trình xử lý tệp video đã tải lên. Các thuộc tính của đối tượng xác định trạng thái xử lý hiện tại và ước tính thời gian còn lại cho đến khi YouTube xử lý xong video. Phần này cũng cho biết liệu video có các loại dữ liệu hoặc nội dung khác nhau (chẳng hạn như thông tin chi tiết về tệp hoặc hình thu nhỏ) hay không.

        Đối tượng này được thiết kế để được thăm dò ý kiến để người tải video lên có thể theo dõi tiến trình mà YouTube đã thực hiện trong quá trình xử lý tệp video đã tải lên.

      • Đối tượng suggestions chứa các đề xuất giúp xác định các cơ hội cải thiện chất lượng video hoặc siêu dữ liệu của video đã tải lên.

    • Phần contentDetails chứa 4 thuộc tính mới. Bạn có thể truy xuất các thuộc tính này bằng các yêu cầu chưa được xác thực.

      • dimension – Cho biết video có ở chế độ 2D hay 3D.
      • definition – Cho biết video có độ phân giải chuẩn hay cao.
      • caption – Cho biết video có phụ đề hay không.
      • licensedContent – Cho biết liệu video có chứa nội dung mà đối tác nội dung trên YouTube đã xác nhận quyền sở hữu hay không.

    • Phần status chứa hai thuộc tính mới. Chủ sở hữu video có thể đặt giá trị cho cả hai thuộc tính này khi chèn hoặc cập nhật video. Bạn cũng có thể truy xuất các thuộc tính này bằng yêu cầu chưa được xác thực.

      • embeddable – Cho biết liệu có thể nhúng video trên một trang web khác hay không.
      • license – Chỉ định giấy phép của video. Các giá trị hợp lệ là creativeCommonyoutube.

  • Định nghĩa của tham số part đã được cập nhật cho các phương thức videos.list, videos.insertvideos.update để liệt kê các phần mới thêm được mô tả ở trên cũng như phần recordingDetails đã vô tình bị bỏ qua.

  • Thuộc tính contentDetails.googlePlusUserId mới của tài nguyên channel chỉ định ID hồ sơ trên Google+ được liên kết với kênh. Bạn có thể dùng giá trị này để tạo đường liên kết đến hồ sơ Google+.

  • Giờ đây, mỗi đối tượng hình ảnh thu nhỏ sẽ chỉ định chiều rộng và chiều cao của hình ảnh. Hình thu nhỏ hiện được trả về trong các tài nguyên activity, channel, playlist, playlistItem, search result, subscriptionvideo.

  • playlistItems.list hiện hỗ trợ tham số videoId. Bạn có thể sử dụng tham số này kết hợp với tham số playlistId để chỉ truy xuất mục danh sách phát đại diện cho video đã chỉ định.

    API sẽ trả về lỗi notFound nếu không tìm thấy video mà thông số đó xác định trong danh sách phát.

  • Tài liệu về lỗi mô tả lỗi forbidden mới, cho biết rằng một yêu cầu không được uỷ quyền đúng cách đối với hành động được yêu cầu.

  • Thuộc tính snippet.channelId của tài nguyên channel đã bị xoá. Thuộc tính id của tài nguyên cung cấp cùng một giá trị.

Ngày 30 tháng 1 năm 2013

Bản cập nhật này bao gồm các thay đổi sau:

  • Trang lỗi mới liệt kê các lỗi mà API có thể trả về. Trang này bao gồm các lỗi chung có thể xảy ra với nhiều phương thức API khác nhau, cũng như các lỗi dành riêng cho phương thức.

Ngày 16 tháng 1 năm 2013

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

  • Hiện đã có mã mẫu cho các phương thức và ngôn ngữ được nêu trong danh sách bên dưới:

  • Giờ đây, tài nguyên activity có thể báo cáo hành động channelItem. Hành động này xảy ra khi YouTube thêm một video vào kênh YouTube được tạo tự động. (YouTube xác định các chủ đề có mức độ hiện diện đáng kể trên trang web YouTube bằng thuật toán và tự động tạo kênh cho các chủ đề đó.)

  • Các thông số search.list sau đây đã được cập nhật:

    • Tham số q không còn được chỉ định làm bộ lọc, có nghĩa là ....
    • Đổi tên tham số relatedToVideo thành relatedToVideoId.
    • Tham số published đã được thay thế bằng hai tham số mới là publishedAfterpublishedBefore như được mô tả ở bên dưới.

  • Phương thức search.list hỗ trợ các tham số mới sau:

    Tên thông số Giá trị Mô tả
    channelId string Trả về các tài nguyên do kênh đã chỉ định tạo.
    publishedAfter datetime Trả về các tài nguyên được tạo sau thời gian đã chỉ định.
    publishedBefore datetime Trả về các tài nguyên được tạo trước thời gian đã chỉ định.
    regionCode string Trả về tài nguyên cho quốc gia được chỉ định.
    videoCategoryId string Lọc kết quả tìm kiếm video để chỉ bao gồm các video được liên kết với danh mục video cụ thể.
    videoEmbeddable string Lọc kết quả tìm kiếm video để chỉ bao gồm những video có thể phát trong trình phát được nhúng trên một trang web. Thiết lập giá trị tham số thành true để chỉ truy xuất video có thể nhúng.
    videoSyndicated string Lọc kết quả tìm kiếm video để chỉ bao gồm những video có thể phát bên ngoài YouTube.com. Đặt giá trị thông số thành true để chỉ truy xuất các video được tổng hợp.
  • Một số tài nguyên API hỗ trợ các thuộc tính mới. Bảng dưới đây xác định các tài nguyên và thuộc tính mới của chúng:

    Tài nguyên Tên tài sản Giá trị Mô tả
    activity contentDetails.playlistItem.playlistItemId string ID mục trong danh sách phát mà YouTube gán để xác định duy nhất mục trong danh sách phát.
    activity contentDetails.channelItem object Đối tượng chứa thông tin về tài nguyên đã được thêm vào kênh. Thuộc tính này chỉ xuất hiện nếu snippet.typechannelItem.
    activity contentDetails.channelItem.resourceId object Đối tượng xác định tài nguyên đã được thêm vào kênh. Giống như các thuộc tính resourceId khác, thuộc tính này chứa một thuộc tính kind chỉ định loại tài nguyên, chẳng hạn như video hoặc danh sách phát. Tệp này cũng chứa chính xác một trong các thuộc tính – videoId, playlistId, v.v. – chỉ định giá trị nhận dạng duy nhất cho tài nguyên đó.
    channel status object Đối tượng này đóng gói thông tin về trạng thái quyền riêng tư của kênh.
    channel status.privacyStatus string Trạng thái quyền riêng tư của kênh. Các giá trị hợp lệ là privatepublic.
    playlist contentDetails object Đối tượng này chứa siêu dữ liệu về nội dung của danh sách phát.
    playlist contentDetails.itemCount unsigned integer Số lượng video trong danh sách phát.
    playlist player object Đối tượng này chứa thông tin mà bạn sẽ sử dụng để phát danh sách phát trong trình phát được nhúng.
    playlist player.embedHtml string Thẻ <iframe> nhúng trình phát video phát danh sách phát.
    video recordingDetails object Đối tượng này đóng gói thông tin xác định hoặc mô tả địa điểm và thời gian quay video.
    video recordingDetails.location object Đối tượng này chứa thông tin vị trí địa lý liên kết với video.
    video recordingDetails.location.latitude double Vĩ độ tính bằng độ.
    video recordingDetails.location.longitude double Kinh độ tính bằng độ.
    video recordingDetails.location.elevation double Độ cao so với Trái Đất, tính bằng mét.
    video recordingDetails.locationDescription string Nội dung mô tả bằng văn bản về địa điểm quay video.
    video recordingDetails.recordingDate datetime Ngày và giờ quay video. Giá trị này được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • Tài liệu cho một số phương thức API hiện xác định các thuộc tính phải được chỉ định trong phần nội dung yêu cầu hoặc được cập nhật dựa trên các giá trị trong phần nội dung yêu cầu. Bảng dưới đây liệt kê các phương pháp đó cũng như các thuộc tính bắt buộc hoặc có thể sửa đổi.

    Lưu ý: Tài liệu về các phương pháp khác có thể đã liệt kê các thuộc tính bắt buộc và có thể sửa đổi.

    Phương thức Thuộc tính
    activities.insert Thuộc tính bắt buộc:
    • snippet.description
    Thuộc tính có thể sửa đổi:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Thuộc tính bắt buộc:
    • id
    playlistItems.update Thuộc tính bắt buộc:
    • id
    videos.update Thuộc tính bắt buộc:
    • id
  • API không còn báo cáo lỗi playlistAlreadyExists nếu bạn cố create hoặc cập nhật danh sách phát có cùng tiêu đề với danh sách phát đã tồn tại trong cùng một kênh.

  • Một số phương thức API hỗ trợ các loại lỗi mới. Bảng dưới đây xác định phương thức và các lỗi mới được hỗ trợ:

    Phương thức Loại lỗi Thông tin chi tiết về lỗi Mô tả
    guideCategories.list notFound notFound Không tìm thấy danh mục hướng dẫn được xác định bởi thông số id. Sử dụng phương thức guideCategories.list để truy xuất danh sách các giá trị hợp lệ.
    playlistItems.delete forbidden playlistItemsNotAccessible Yêu cầu không được uỷ quyền đúng cách để xoá mục danh sách phát đã chỉ định.
    videoCategories.list notFound videoCategoryNotFound Không tìm thấy danh mục video được xác định bởi thông số id. Sử dụng phương thức videoCategories.list để truy xuất danh sách các giá trị hợp lệ.