Nhật ký sửa đổi

Trang này liệt kê các thay đổi và nội dung cập nhật về tài liệu liên quan đến YouTube Data API (phiên bản 3). Đăng ký nhận nhật ký thay đổi này. Đăng ký

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

API hiện hỗ trợ khả năng xác định những video có chứa nội dung Đã chỉnh sửa hoặc nhân tạo (A/S) trông giống như thật. 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 bao gồm các thay đổi sau:

API này không còn hỗ trợ tính năng chèn hoặc truy xuất các cuộc thảo luận trên 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ợ tính năng đă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 bao gồm các thay đổi sau:

Tham số sync cho các phương thức captions.insertcaptions.update không còn được dùng nữa. Kể từ ngày 12 tháng 4 năm 2024, YouTube sẽ ngừng hỗ trợ tham số này.

Do 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 các bản lồng tiếng, 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. Kể từ ngày 7 tháng 3 năm 2024, YouTube sẽ ngừng hỗ trợ thông số này.

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

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

Tất cả các tham chiếu đến tài nguyên videoId trong Comments đã bị xoá vì tài nguyên videoId không được trả về bằng 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òn được dùng nữa trong vài năm qua. Phương thức này không còn đượ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 đã đánh dấu là có quảng cáo có tính phí.

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òn được dùng nữa. Tham số đó không còn được hỗ trợ và các tệp tham chiếu đến tham số đó đã bị xoá khỏi tài liệu 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.

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

Hiện tại, chúng tôi đã thêm thông báo về việc ngừng sử dụng vào tài liệu của 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ã nhận dạng phụ đề. Trong quá trình thay đổi đó, chúng tôi sẽ chỉ định mã nhận dạng phụ đề mới cho tất cả các bản 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ã bản lồng tiếng cũ và mới. Tuy nhiên, kể từ ngày 1 tháng 12 năm 2022, YouTube sẽ ngừng hỗ trợ mã của bản lồng tiếng cũ. Tại thời điểm đó, việc gọi bất kỳ phương thức API nào trong số đó bằng mã bản lồng tiếng cũ sẽ dẫn đến lỗi captionNotFound.

Để chuẩn bị cho thay đổi này, bạn nên lên kế hoạch thay thế toàn bộ dữ liệu của kênh phụ đề đã 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

Chúng tôi đã cập nhật định nghĩa tham số myRecentSubscribersmySubscribers của phương thức subscriptions.list để 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 những thay đổi để chuyển số lượt không thích video sang 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 yêu cầu API đã được chủ sở hữu video xác thực.

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 thị số lượt không thích công khai và vẫn cần 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. Điểm cuối này có chức năng trùng lặ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 hạn mức nhiều hơn hạn mức mặc định là 10.000 đơn vị. Cho đến nay, cả quy trình kiểm tra mức độ tuân thủ và yêu cầu phân bổ thêm đơn vị hạn mức đều do nhà phát triển thực hiện bằng cách điền và gửi Biểu mẫu kiểm tra và yêu cầu tăng hạn mức của 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, nhờ đó chúng tôi có thể 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 vào ngày 28 tháng 4 năm 2016.

    Trước bản cập nhật này, API vẫn sẽ tạo một danh sách phát mới nếu ứng dụng API cố gắng thêm một 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 không còn được dùng nữa. 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ả các thuộc tính đã bị xoá khỏi channel đại diện tài nguyên và định nghĩa của các thuộc tính đó đã 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 các thuộc tính này đã bị xoá khỏi tài liệu dành riêng cho phương thức.

  • Các thuộc tính tài nguyên channelSection sau đây không còn được dùng nữa. 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.

    • 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ả các thuộc tính đã bị xoá khỏi channelSection đại diện tài nguyên và định nghĩa của các thuộc tính đó đã 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 các thuộc tính này đã bị xoá khỏi tài liệu dành riêng cho 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 đây không còn được dùng nữa. Các giá trị này không được hỗ trợ trên trang kênh YouTube, do đó, chúng cũng không còn được hỗ trợ thông qua API.

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

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 bao gồm các 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 tìm cách 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ù danh sách xem sau và danh sách xem của người dùng thực sự không truy cập được qua API, nhưng API không trả về các 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 thông qua trình phát YouTube được nhúng 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 chế độ 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) trước khi nhúng nội dung đó vào trang web và ứng dụng của bạn. Bạn chịu trách nhiệm biết thời điểm video mà bạn nhúng trên Ứng dụng API được tạo dành cho trẻ em và xử lý dữ liệu được thu thập 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 một lời nhắc vào tài liệu về Tham 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à không cần người dùng tương tác với trình phát; do đó, việc thu thập và chia sẻ dữ liệu phát sẽ diễn ra khi tải trang.

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 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.
  • 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 nhất quán với số lượt xem hiển thị trên trang web của 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 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:
      • 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 đó
    • 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
  • Phản hồi 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 đối với các yêu cầu channels.list khác và không ảnh hưởng đến thuộc tính nextPageToken đối với 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, tính năng hỗ trợ của phương thức playlistItems.insert và phương thức playlistItems.delete đối với các danh sách phát này cũng không còn được dùng nữa và hai thuộc tính này đã 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 đối tượng này (đượ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. Kể từ ngay hôm nay, chúng tôi sẽ chỉ tính phí chi phí cơ bản cho phương thức được gọi. Bạn có thể xem thêm thông tin về hạn mức đơn giản hoá 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 sử 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 sử dụng ứ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 nên hoàn tất quy trình kiểm tra mức độ tuân thủ cho 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.

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 tham 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 phí hạn mức. Tuy nhiên, do một số trường hợp ngoài dự kiến, thay đổi về hạn mức này chưa có hiệu lực. Do đó, tài liệu đã được hoàn nguyên để đả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. Các giá trị này 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 (Điều khoản dịch vụ API) của Dịch vụ API YouTube.

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 Điều khoản dịch vụ 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 giải đáp một số câu hỏi thường gặp nhất mà 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à thông tin cập nhật cho thông báo trước đó về việc ngừng sử dụng.

Tính năng thông báo của 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ề thông báo của 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 thông báo 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ề thông báo của 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ợ tài chính định kỳ cho một nhà sáng tạo và nhận 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òn được dùng nữa và ứng dụng API nên cập nhật các lệnh gọi đến phương thức sponsors.list để sử dụng phương thức members.list.

    • 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ác cấp độ thành viên của nhà sáng tạo.

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

API hiện hỗ trợ khả năng xác định nội dung hướng đến trẻ em, mà YouTube gọi là "dành cho trẻ em". Tìm hiểu thêm về nội dung "dành cho trẻ em" trong Trung tâm trợ giúp của YouTube.

Tài nguyên 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 xem một kênh hoặc video có dành cho trẻ em hay không.

    Đố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 thuộc tính này chỉ có trong các phản hồi API chứa tài nguyên channel hoặc video nếu chủ sở hữu kênh đã cho phép 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ụ và Chính sách dành cho nhà phát triển 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. 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 thay đổi này, số người đăng ký do Dịch vụ API dữ liệu YouTube trả về sẽ được làm tròn xuống còn ba chữ số có ý nghĩa đối với những kênh có số người đăng ký lớn hơn 1.000. 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ị thuộc tính này ngay cả trong trường hợp người dùng gửi yêu cầu được uỷ quyền về dữ liệu của chính kênh của 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 API và viết tắt số người đăng ký 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 YouTube hiển thị công khai
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 thức và cung cấp các mẫu mã linh động, chất lượng cao thông qua tiện ích Trình khám phá API. Hãy xem tài liệu về phương thức channels.list để biết ví dụ. Hiện có hai phần tử mới trên các trang mô tả phương thức API:

    • Tiện ích Trình khám phá API cho phép bạn chọn phạm vi uỷ quyền, nhập tham số mẫu và giá trị thuộc tính, sau đó gửi yêu cầu API thực tế và xem 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ẫu mã hoàn chỉnh, tự động cập nhật để sử dụng các phạm vi và giá trị mà bạn đã nhập.

    • Mục 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.

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

  • Công cụ mẫu mã cũng đã được cập nhật với giao diện người dùng mới cung cấp tất cả các tính năng tương tự như mô tả ở trên. Khi sử dụng công cụ đó, bạn có thể khám phá các trường hợp sử dụng cho nhiều phương thức, tải các giá trị vào Trình khám phá API và mở Trình khám phá API ở chế độ toàn màn hình để lấy các mẫu mã trong Java, JavaScript, PHP và Python.

    Cùng với thay đổi này, các trang trước đây liệt kê các mã mẫu hiện có 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 những 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 của 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 URL hình ảnh chính xác như được trả về trong các 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. Đây là cách URL xuất hiện trong các phản hồi API. Sau thời điểm đó, bạn có thể thấy hình ảnh bị hỏng trong ứng dụng nếu ứng dụng đó cố gắng tải hình ảnh 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 dùng nữa. Chúng tôi không đảm bảo rằng video sẽ trả về 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 giá trị cho thuộc tính đó, dữ liệu đến có thể sẽ không được lưu trữ.

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

Hướng dẫn triển khai (trước đây gọi là Hướng dẫn triển khai và di chuyển) đã được cập nhật để xoá hướng dẫn di chuyển từ API v2 sang API v3. Ngoài ra, chúng tôi cũng đã xoá hướng dẫn về các tính năng không còn được dùng trong API phiên bản 3, 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ác tính năng này đượ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 đó:

    • Nếu bạn cố gắng truy xuất phần invideoPromotion khi gọi channels.list, thì thao tác này sẽ trả về một invideoPromotion trống hoặc không trả về dữ liệu invideoPromotion nào cả.
    • 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 bao gồm các 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 các 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 một điểm xuất phát dành riêng cho trường hợp sử dụng cho ứng dụng Node.js. Chức năng này tương tự như mã trong hướng dẫn nhanh về Node.js. Tuy nhiên, các mẫu này có chứa một số hàm tiện ích không xuất hiện trong phần bắt đầu nhanh:

    • Hàm removeEmptyParameters nhận 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 lấy 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 đó, phương thức này sẽ chuyển đổi các thuộc tính thành một đối tượng JSON có thể được sử dụng trong các thao tác 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 về công cụ đoạn mã.

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

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

  • Các mẫu mã 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 không còn được dùng nữa.

    Ngoài thay đổi đó, công cụ này hiện cung cấp các mã mẫu đầy đủ cho các ứng dụng Python đã cài đặt và các ứng dụng máy chủ web Python, sử dụng các luồng uỷ quyền hơi khác nhau. Để 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ẫu mã.
    3. Nhấp vào nút bật/tắt phía trên các thẻ để chuyển từ xem đoạn mã sang xem mẫu đầ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ả phía trên mẫu này giải thích điều này và cũng liên kết đến một mẫu cho ứng dụng máy chủ web.
    5. 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.
  • Định nghĩa của tham số regionCode của phương thức search.list đã được cập nhật để làm rõ rằng tham số này giới hạn kết quả tìm kiếm ở những video có thể xem được ở khu vực đượ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 biểu trưng mới "được phát triển với YouTube" xuống từ trang nguyên tắc sử dụng thương hiệu. Các biểu trưng và biểu tượng mới khác của YouTube cũng xuất hiện trên trang đó và bạn có thể tải xuống từ trang web thương hiệu của YouTube.

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

Bản cập nhật này bao gồm các 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 Objective-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 yêu cầu API
    • Chuyển đổi giữa đ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 bao gồm các 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 không còn được dùng nữa. Mặc dù các thuộc tính này 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 lỗi trước ngày đó, nhưng có thể dữ liệu đến 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 để các đoạn mã trở nên phổ biến và tương tác hơn. Các trang giải thích phương thức API, chẳng hạn 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 bất kỳ phương thức nào, công cụ này sẽ 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 các mẫu mã:

    • 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 các 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 thi các 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 uỷ quyền cho 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 đều hiển thị một đường liên kết để bạn có thể tải yêu cầu mà bạn đang xử lý trong Trình khám phá API.)

  • 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ả cá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 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, giúp xác định thời điểm thêm 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 vào ngày 11 tháng 8 năm 2016, YouTube đã chuyển danh sách mã chủ đề được hỗ trợ sang danh sách được tuyển chọn. Danh sách đầy đủ các mã nhận dạng chủ đề được hỗ trợ có trong các thuộc tính topicDetails cho tài nguyên channelvideo, cũng như trong tham số topicId của phương thức search.list.

Xin lưu ý rằng danh sách do chúng tôi tuyển chọn có một số thay đổi:

  • 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 thay đổi này, các chủ đề liên quan đến một video hiện 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ó 3 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). Mọi video được liên kết với một 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 bao gồm các 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 mã 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ị ứng dụng API cho những thay đổi đó, chúng tôi đã cập nhật định nghĩa của các tham số và thuộc tính API sau đây để liệt kê 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ả tài sản.

  • 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. 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.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 đăng tải video mới nhìn thấy thuộc tính 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 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 bao quanh 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. Máy chủ API điều chỉnh tỷ lệ kích thước trình phát cho phù hợp để đảm bảo rằng trình phát được nhúng không có các thanh màu đen bao quanh 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 960x540.
      • Nếu bạn đặt tham số maxWidth thành 960 và tham số maxHeight thành 450, thì API sẽ trả về một trình phát 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ó

    • Nội dung mô tả tài nguyên channelSection đã được cập nhật để lưu ý rằng một kênh có thể tạo tối đa 10 kệ mà không cần đặt dữ liệu nhắm mục tiêu và 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. Các lựa chọn nhắm mục tiêu sẽ bị xoá nếu bạn sửa đổi phần kênh bằng giao diện người dùng trên trang web YouTube.

    • Định nghĩa của 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 thể hiện tên của một ngôn ngữ vì nó được viết bằng ngôn ngữ do tham số hl của phương thức i18nLanguage.list chỉ định.

    • 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 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.

    • Cả 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ố là bao gồm. Ví dụ: nếu bạn đặt thông số publishedBefore, API sẽ trả về các tài nguyên được tạo trước hoặc tại thời điểm đã chỉ định.

    • Thuộc tính contentDetails.contentRating.grfilmRating của tài nguyên video hỗ trợ thêm 3 giá trị: 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ố gắng truy xuất các mục danh sách phát "danh sách xem", nhưng không thể truy xuất các mục đó bằng API.
      forbidden (403) watchLaterNotAccessible Phương thức playlistItems.list trả về lỗi này để cho biết rằng yêu cầu đã cố gắng truy xuất các mục trong danh sách phát "xem sau", nhưng không thể truy xuất các mụ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 rằng yêu cầu API cố gắng đặ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 cấp quyền cung cấp trình phát được nhúng cho sự kiện phát trực tiếp. Hãy truy cập và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ếu bạn chèn một video trùng lặp vào danh sách phát. Lỗi nà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 nhật ký sửa đổi ngày 11 tháng 8 năm 2016 đã thảo luận về một số thay đổi liên quan đến mã chủ đề, bao gồm cả việc nhóm mã chủ đề được hỗ trợ sẽ thay đổi kể từ ngày 10 tháng 2 năm 2017. Danh sách các chủ đề sẽ được hỗ trợ sẽ được công bố muộn nhất vào ngày 10 tháng 11 năm 2016.

  • Những thay đổi sau đây hiện đã có hiệu lực. Chúng tôi đã thông báo về những thay đổi này trong bản cập nhật nhật ký 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 mang lại trải nghiệm tốt hơn cho người dùng so với hành vi được mô tả trong bản cập nhật nhật ký sửa đổi vào ngày 11 tháng 8 năm 2016. Nội dung 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.

    • Các thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel hiện chứa các giá trị tương ứng là HLWL 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 này 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 của chính 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 bao gồm các thay đổi sau:

  • Điều khoản dịch vụ mới được phát hành của Dịch vụ API YouTube ("Điều khoản mới"), được thảo luận chi tiết trên Blog về kỹ thuật và nhà phát triển của YouTube, cung cấp nhiều nội dung cập nhật 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 mới cập nhật hoặc đối với 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 ngừng sử dụng Freebase và Freebase API đang gây ra một số thay đổi liên quan đến mã nhận dạng 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ủ đề 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 nhóm nhỏ mã chủ đề thay vì nhóm mã chi tiết hơn nhiều như hiện tại. Tập hợp 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 ví dụ: 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ể dùng mọi mã chủ đề Freebase mà bạn đã truy xuất để tìm kiế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ẽ ngừng hoạt động 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. Các yêu cầu truy xuất mục trong danh sách phát (playlistItems.list) trong một trong hai danh sách phát đó cũng sẽ trả về danh sách trống sau thời điểm đó. Đ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 xem 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 này 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 này chỉ xuất hiện nếu kênh được liên kết với một hồ sơ Google+. Sau khi ngừng hoạt động, 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.

  • 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 này chỉ xuất hiện nếu kênh được liên kết với một hồ sơ Google+. Sau khi ngừng hoạt động, 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.

Vì cả hai thuộc tính này sẽ không được trả về sau khi ngừng hoạt động, nên cả hai thuộc tính này đã bị xoá khỏi tài liệu 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 này chỉ hỗ trợ truy xuất 1.000 người đăng ký gần đây nhất của kênh mà người dùng đã xác thực. Để truy xuất danh sách đầy đủ người đăng ký, hãy sử dụng tham số mySubscribers. Thông số đó không trả về 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 để lưu ý rằng một số video có thêm kích thước hình thu nhỏ.

    • Hình ảnh standard có chiều rộng 640px và chiều 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 có thể xem 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 phát 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ị tham số. Trong trường hợp này, công cụ sẽ cập nhật các đoạn mã để phản ánh các giá trị tham 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 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 uỷ quyền cho công cụ này thay mặt bạn gửi yêu cầu để các phản hồi API hiển thị.

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

Bản cập nhật này bao gồm các 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ả 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 hai thuộc tính này:

    • 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. Bạn có thể chỉnh sửa, tìm kiếm địa điểm này trên video công khai và địa điểm này có thể hiển thị cho người dùng đối với 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í được liên kết với tệp video gốc đã tải lên. Chỉ chủ sở hữu video mới thấy được giá trị này.

  • Định nghĩa của thuộc tính contentDetails.relatedPlaylists.favorites của tài nguyên channel đã được cập nhật để 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. Lý do là 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 bao gồm các 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ố đó.

  • Chúng tôi đã cập nhật phần Mức sử dụng hạn mức trong hướng dẫn Bắt đầu sử dụng để liên kết đến Google Developers Console. Tại đây, bạn có thể xem hạn mức thực tế và mức sử dụng hạn mức.

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 hình ảnh biểu ngữ kênh được 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 của YouTube giải thích các yêu cầu để có thể 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 này xác định mã khu vực được dùng cho cụm từ tìm kiếm. Mã khu vực hướng dẫn API trả về kết quả tìm kiếm cho quốc gia được chỉ định.

      Giá trị thuộc tính là mã quốc gia ISO gồm hai chữ cái 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.

    • Chúng tôi đã cập nhật định nghĩa của các thuộc tính snippet.labelsnippet.secondaryReasons[].label của tài nguyên videoAbuseReportReason để lưu ý rằng các thuộc tính này chứa văn bản nhãn được bản địa hoá cho 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 sử dụng cho văn bản nhãn trong phản hồi 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)
        Mức phân loại: 10; giá trị thuộc tính: fpb10
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Mức phân loại: R-12; giá trị thuộc tính: 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 được 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 sự kiện phát trực tiếp kết thúc và cuộc trò chuyện trực tiếp kết thúc, thuộc tính này sẽ không còn được trả về cho video.

    • 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 Phương thức channelSections.insert, channelSections.updatechannelSections.delete trả về lỗi này để cho biết rằng bạn 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 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 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 thường cho biết rằng 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 xem Trung tâm trợ giúp của YouTube để biết 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 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 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 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 thuộc tính 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ữ ISO 639-1:2002 khác. 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 mà 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ả các phiên bản dữ liệu đã bản địa hoá hiện có. Ví dụ: nếu bạn gửi một yêu cầu tiếp theo để thêm dữ liệu tiếng Bồ Đào Nha vào video trong ví dụ trên, thì yêu cầu đó cần phải bao gồm dữ liệu đã bản địa hoá cho 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ữ ứng dụng cụ thể 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 được bản địa hoá, thì đố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 được mô tả ở trên bằng dữ liệu đã bản địa hoá bằng tiếng Đức và tiếng Tây Ban Nha. Nếu bạn đặt tham số hl thành de, thì 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 bạn đặt tham số hl 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 và không có thông tin chi tiết được bản địa hoá bằng tiếng Pháp.

      Lưu ý 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 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 được xác thự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ệ. Các 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 sự kiện phát trực tiếp theo viewCount, thì kết quả API sẽ được sắp xếp theo số lượng người xem đồng thời của các sự kiện phát trực tiếp trong khi các sự kiện phát trực tiếp 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 bạn đặt tham số này, thì các tham số khác được hỗ trợ chỉ là part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (phải được đặt thành video) và fields. Nội dung cập nhật này không phản ánh sự thay đổi trong hành vi của API.

    • Chúng tôi đã cập nhật định nghĩa của thuộc tính snippet.publishedAt của tài nguyên video để 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.

    • Chúng tôi đã cập nhật định nghĩa của thuộc tính status.publishAt của tài nguyên video để 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 đó, hiệu quả của việc đặt thuộc tính status.publishAt thành ngày và giờ trong quá khứ cũng giống như hiệu quả của 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ế cho thuộc tính contentDetails.contentRating.fmocRating hiện không được 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 sự thay đổi trong 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 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 đúng cách để chèn, cập nhật hoặc xoá mục danh sách phát đã chỉ định.
      playlists.delete
      playlists.insert
      playlists.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doplaylistForbidden
      Mô tảThao tác này bị cấm hoặc yêu cầu không được uỷ quyền đúng cách.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidLocation
      Mô tảGiá trị thông 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 nên cần phải chờ vài giờ trước khi thử lại yêu cầu.
      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 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ó

    • Thuộc tính statistics.favoriteCount của tài nguyên video không đượ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 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ó

    • Định nghĩa của 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 của giá trị 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 hiện giải thích rằng nếu một thẻ chứa dấu cách, thì máy chủ API sẽ xử lý giá trị thẻ như thể giá trị đó được gói trong dấu ngoặc kép và dấu ngoặc kép sẽ 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. Trước đây, tham số này cho biết liệu bình luận và các câu trả lời cho bình luận đó có được đăng lên hồ sơ 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 API sẽ liệt kê các chuỗi bình luận. 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 các sự kiện theo thời gian.

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

    • Chúng tôi đã cập nhật định nghĩa của thuộc tính contentDetails.licensedContent của tài nguyên video để làm rõ rằng nội dung phải được tải lên một kênh liên kết với đối tác nội dung của YouTube, sau đó được đố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.

    • Các 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 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 đánh giá 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ả lý do khiến video có thể bị gắn cờ.

    • Phương thức videos.reportAbuse mới cung cấp cách thực sự gắn cờ video có chứa nội dung sai trái. Nội dung của yêu cầu này chứa một đối tượng JSON chỉ định video đang bị gắn cờ cũng như lý do video đó bị coi là chứa nội dung sai trái. 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 bằng một ví dụ về cách báo cáo video có hành vi sai trái. Với thay đổi này, API phiên bản 3 hiện hỗ trợ tất cả các tính năng API phiên bản 2 mà API phiên bản 3 dự kiến sẽ 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ó

    • Thông số bộ lọc forDeveloper mới của phương thức search.list hạn chế một lượt tìm kiếm chỉ truy xuất những 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.

      Khi một yêu cầu tìm kiếm sau đó đặt tham số forDeveloper thành true, máy chủ API sẽ sử dụng thông tin xác thực uỷ quyền 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, chứ không phải 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 hiện hỗ trợ tính năng nhắm mục tiêu cho tài nguyên channelSection. Tính năng nhắm mục tiêu theo phần kênh giúp bạn hạn chế việc hiển thị 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 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.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 bao gồm các 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 bình luận 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ả chuỗi bình luận liên quan đến một kênh. Điều này có nghĩa là phản hồi của API có thể chứa các bình luận về kênh hoặc bất kỳ video nào của kênh đó.
    • Cập nhật văn bản của một nhận xét
    • Đánh dấu bình luận là vi phạm
    • Đặt trạng thái kiểm duyệt của bình luận

  • 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 bao gồm các thay đổi sau:

  • 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 bình luận.

    • Tài nguyên commentThread chứa thông tin về một 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 câu trả lời (nếu có) cho bình luận đó. Tài nguyên commentThread có thể đại diện cho các bình luận về một video hoặc một 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 đây cho tài nguyên commentThread:

      • commentThreads.list – Truy xuất danh sách chuỗi bình luận. Sử dụng phương thức này để truy xuất các bình luận liên kết với 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 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 một bình luận về 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 đây 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 câu trả lời cho một bình luận 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 cho một hoặc nhiều bình luận. 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 vì 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 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 nội dung 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 phiên bản 2 hỗ trợ nhiều loại thông báo đẩy khác không được hỗ trợ trong API phiên bản 3, nên nội dung đề cập đến việc 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 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 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.
  • Phương thức subscriptions.insert không còn hỗ trợ lỗi subscriptionLimitExceeded. Trước đây, lỗi này cho biết rằng người đăng ký được xác định bằng yêu cầu đã vượt quá giới hạn tỷ lệ gói thuê bao.

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

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

  • Tài nguyên captions mới đại diện cho một bản phụ đề trên YouTube. Một bản phụ đề được liên kết với đúng 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 giao tiếp với máy chủ API phải diễn ra qua kết nối SSL.

    Phạm vi mới này cấp quyền truy cập giống như phạm vi https://www.googleapis.com/auth/youtube. Và trên thực tế, hai phạm vi đó giống hệt nhau về chức năng vì máy chủ API YouTube chỉ có sẵn thông qua đ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 (phiên bản 3) có một thẻ mới có tên là Tính năng mới trong API phiên bản 3. Thẻ này liệt kê các tính năng mà API phiên bản 3 hỗ trợ và API phiên bản 2 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:

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

    • Truy xuất video đề xuất – API phiên bản 3 không truy xuất danh sách chỉ chứa những 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 phiên bản 3 để tìm các video đề xuất 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 API, một tài nguyên tương ứng với một video được đề 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. 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 đề xuất cụ thể.

    • Truy xuất nội dung đề xuất về kênh

    • Truy xuất video mới trong danh sách kênh đăng ký – API phiên bản 3 không truy xuất danh sách chỉ chứa những video mới được tải lên các kênh mà người dùng API đăng ký theo dõi. 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 API, một tài nguyên tương ứng với một video mới trong danh sách kênh đăng ký 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 cho nội dung cập nhật của nguồn cấp dữ liệu – API phiên bản 2 hỗ trợ thông báo đẩy, sử dụng Giao thức cập nhật đơn giản (SUP) hoặc PubSubHubbub để theo dõi nguồn cấp dữ liệu hoạt động của người dùng YouTube. Thông báo được gửi khi có người đăng ký kênh mới và khi video được đánh giá, chia sẻ, đánh dấu là video yêu thích, bình luận hoặc tải lên.

      API phiên bản 3 sẽ hỗ trợ thông báo đẩy bằng giao thức PubSubHubbub, nhưng thông báo sẽ chỉ bao gồm các video tải lên và nội dung cập nhật cho tiêu đề hoặc nội dung 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 một kênh với một quốc gia cụ thể, nhưng dữ liệu của trường này không thể được sử dụng 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 một tính năng tương tự nhưng không giống hệt. Cụ thể, nhà phát triển 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 đượ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 đó, nhà phát triển sử dụng cùng một số dự án để tì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 bạn 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 này được sắp xếp hiệu quả theo thứ tự từ mới nhất đến cũ nhất dựa trên thời điểm các mục được thêm 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, xin lưu ý rằng mục mới được thêm vào danh sách phát "Xem sau" sẽ được thêm vào dưới dạng mục cuối cùng trong danh sách đó. Vì vậy, danh sách đó sẽ đượ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 những 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 bằng 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 đây và các thuộc tính con của chúng không còn được dùng nữa:

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

    Lưu ý: Không có tài sản 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 tại sao video nhận được mức phân loại 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 sẽ 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 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ể khắc phục lỗi này bằng cách xoá phần tử snippet.position khỏi tài nguyên được gửi trong phần 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 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 sẽ 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 tìm thấy.
    notFound (404) playlistNotFound Phương thức playlists.list 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 tìm thấy.
    notFound (404) videoNotFound Phương thức videos.list sẽ trả về lỗi này nếu tham số id của yêu cầu chỉ định một video không 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 bao gồm các thay đổi sau:

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

Bản cập nhật này bao gồm các 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 đối với hướng dẫn di chuyển không phản ánh thay đổi thực tế đối với API mà là việc có sẵn mã mẫu mới để tải video lên bằng JavaScript phía máy khách.

    Do tính năng 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 bằng trình duyệt là một tính năng có thể không còn được dùng trong API phiên bản 3.

  • Tài liệu về 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 cân nhắc 2 cách sau để tìm video được tải lên kênh GoogleDevelopers.

    • Chi phí 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 bao gồm các 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 tiên 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.

      Hãy 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 liệu 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ị nội dung quảng bá tại thời điểm video có nhiều khả năng được nhấp vào và ít gây gián đoạn trải nghiệm xem. Tính năng này cũng chọn một video quảng bá để hiển thị trên mỗi video.

  • Chúng tôi đã cập nhật định nghĩa của các thuộc tính snippet.titlesnippet.categoryId của tài nguyên video để 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ố gắng 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 nên truy cập vào http://photos.google.com, chuyển đến trang album rồi 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 bao gồm các 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 bằng yêu cầu này đã vượt quá hạn mức tỷ lệ gói thuê bao. Bạn có thể thử thêm các gói thuê bao khác sau vài giờ.

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

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

  • Hướng dẫn mới có tiêu đề Di chuyển ứng dụng sang YouTube Data API (phiên bản 3) giải thích cách sử dụng YouTube Data API (phiên bản 3) để thực hiện chức năng có trong YouTube Data API (phiên bản 2). API cũ đã chính thức ngừng hoạt động 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 bạn 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 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:

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

Bản cập nhật này bao gồm các 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 bao gồm các 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 bạn thường 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.

  • Tài nguyên channelSection hiện 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 trang cập nhật hoạt động của kênh
    • postedVideos – video mà chủ sở hữu kênh đăng vào trang 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 của Ireland.

  • Định nghĩa của 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.

  • Chúng tôi đã cập nhật định nghĩa của tham số q cho phương thức search.list để lưu ý rằng cụm từ tìm kiếm có thể sử dụng toán tử Boolean NOT (-) để loại trừ những video 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ử OR (|) Boolean để tìm những video 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 là giá trị gần đúng và có thể không thể hiện 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 đườ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 bao gồm các 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. Ngoài ra, 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ợ một phương thức để liệt kê các ngôn ngữ ứng dụng được hỗ trợ. Bạn có thể sử dụng các 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 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, một khu vực nội dung có thể được tự động chọn 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ê các 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 bao gồm các 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ụ: một phần có thể giới thiệu các video tải lên gần đây nhất, video tải lên phổ biến nhất hoặc video trong một hoặc nhiều danh sách phát của kênh.

    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 trê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 mã nhận dạng kênh cụ thể hoặc chỉ định danh sách các mã nhận dạng phần kênh riêng biệt.

    Tài liệu về lỗi cũng đã được cập nhật để mô tả thông báo lỗi mà API hỗ trợ dành 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 đó.

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

  • 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 đó thực sự không hỗ trợ tham số onBehalfOfContentOwner. Đây là lỗi tài liệu vì các yêu cầu videos.rate đặt thông số này sẽ 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 giữa 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 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 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 sẽ 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 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 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ục được quảng bá được 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 sẽ trả về lỗi này nếu một yêu cầu không chỉ định chế độ cài đặt thời gian mặc định cho thời điểm YouTube hiển thị một mục được quảng bá.
    required (400) requiredTiming Phương thức channels.update phải chỉ định một đối tượng invideoPromotion.items[].timing cho mỗi 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 mỗi mục đượ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 yêu cầu chỉ định thời gian phát hành 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 bao gồm các thay đổi sau:

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

Bản cập nhật này bao gồm các 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 giá trị cho tham số bộ lọc rỗng hoặc cho một tham số bộ lọc.

  • Chúng tôi đã cập nhật định nghĩa cho các tham số của phương thức search.list để 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à 2120px x 1192px.) Ngoài ra, xin 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ả hình ả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 các ứ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à 1000 ký tự.
    • Thuộc tính brandingSettings.channel.featuredChannelsTitle có độ dài tối đa là 30 ký tự.
    • Thuộc tính brandingSettings.channel.featuredChannelsUrls[] hiện 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ác nội dung cập nhật cho thuộc tính invideoPromotion.items[].promotedByContentOwner. Thuộc tính đó cho biết tên của chủ sở hữu nội dung có xuất hiện khi hiển thị chương trình khuyến mãi hay không. Bạn chỉ có thể đặt giá trị 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 cách sử dụ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.

  • 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 (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.

  • 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 bao gồm các 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 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 liệu video đó có phải là một sự kiện phát trực tiếp sắp diễn ra hay đang diễn ra hay khô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à sự kiện phát trực tiếp chưa bắt đầu.
      • active – Video đang phát trực tiếp.
      • 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 đã kết thúc và 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ợ thông số notifySubscribers. Thông 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 tham số này là True, cho biết rằng người đăng ký sẽ được thông báo về các video mới 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.

  • Các 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à giá trị thuộc tính hợp lệ, nhưng active không phải là 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 mức phân loại:

    • mibacVap (VAP) – Trẻ em phải có người lớn đi cùng.
    • 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ị video quảng bá hay không. Bạn chỉ có thể đặt trường này 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 bao gồm các 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. Xin 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ã uỷ quyền chứa phạm vi https://www.googleapis.com/auth/youtubepartner-channel-audit. Ngoài ra, mọi mã thông báo sử dụng phạm vi đó phải bị thu hồi khi MCN quyết định chấp nhận hoặc từ chối kênh hoặc trong vòng hai tuần kể từ ngày mã thông báo được phát hành.

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

    Theo mặc định, kênh này giống với kênh mà bạn đặt dữ liệu quảng bá 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 3 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 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, còn 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ó một chương trình phát sóng theo lịch chưa bắt đầu, trong khi giá trị acive cho biết kênh đang phát sóng trực tiếp.

  • 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 một thuộc tính 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 hiện tự chỉ định giá trị đó. Do đó, thuộc tính targetChannelId.value của tài nguyên đã 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 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 khi 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 hình ảnh hình mờ của kênh lên và đặt hình ảnh đó. Phương thức watermarks.unset xoá hình mờ của 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 một 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 vùng nội dung cầ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. 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 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 này 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 hiện hỗ trợ việc chỉ định một trang web làm mục được quảng bá. Để làm như vậy, hãy đặt 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 báo tuỳ chỉnh sẽ hiển thị cho chương trình khuyến mãi.

      Đường liên kết có thể là đến các trang web liên kết, trang web của người bán hoặc trang mạng xã hội. Hãy xem hướng dẫn trong Trung tâm trợ giúp của YouTube về 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.

    • Các thuộc tính liên quan đến chế độ cài đặt thời gian hiển thị các mục được quảng bá trong khi phát video đã được tái cấu trúc:

      • Đối tượng invideoPromotion.timing đã được di chuyển sang invideoPromotion.items[].timing. Giờ đây, đối tượng này cho phép bạn tuỳ chỉnh dữ liệu thời gian cho từng mục được quảng bá 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. Những chế độ cài đặt đó xác định thời điểm một mặt hàng được quảng bá sẽ xuất hiện trong lúc phát một trong các 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 di 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.

  • 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 thể sử dụng tham số mine trong các yêu cầu mà người dùng được xác thực là đối tác YouTube. Bạn nên xoá thông số mine, xác thực dưới dạng người dùng YouTube bằng cách xoá thông 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 thông số onBehalfOfContentOwnerChannel nếu có cho phương thức được gọi.

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

Bản cập nhật này bao gồm các 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à một 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ị giới hạn ở 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 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.

  • Đổi tên thuộc tính recordingDetails.location.elevation của tài nguyên video thành recordingDetails.location.altitude và đổi tên thuộc tính fileDetails.recordingLocation.location.elevation 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 "unrated" (chưa được phân loại) thường được dùng để xác định các phiên bản chưa cắt của phim mà phiên bản đã cắt của phim đã 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:

    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ể. Mã này cho biết người dùng đã xác thực không được phép thay mặt cho Tài khoản Google đã 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 dành riêng cho 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 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 đó đang bị tạm ngưng.
    forbidden authenticatedUserNotChannel Lỗi này không dành riêng cho 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, bạn cũng nên đặt tham số onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Lỗi này không dành riêng cho 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 được chỉ định.
    notFound contentOwnerAccountNotFound Lỗi này không dành riêng cho 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 dành riêng cho 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ể 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 có sẵn.
    notFound videoNotFound Phương thức videos.update trả về lỗi này để cho biết rằng không tìm thấy video mà 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 bao gồm các 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. Tham số này hướng dẫn API trả về kết quả 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 uỷ quyền trên YouTube không cung cấp đủ thông tin để tạo nguồn cấp dữ liệu hoạt động.

  • Các 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 được 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 được chỉ định trên YouTube.

    Thông số này dành cho những đố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 lẻ.

    Cụ thể, trong bản phát hành này, thông số này 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 dành riêng cho một phương thức API cụ thể. Lỗi này cho biết rằng người dùng CMS gọi API không có đủ quyền để thực hiện thao tác được yêu cầu. Lỗi này 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 về Cách xử lý mã nhận dạng kênh giải thích cách API 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 bao gồm các thay đổi sau:

  • Các trang độc lập hiện liệt kê các 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 thuê bao, 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 bao gồm các thay đổi sau:

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

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

  • Các tài nguyên kênh hiện hỗ trợ đối tượng inVideoPromotion. Đối tượng này chứa thông tin về một chiến dịch quảng bá liên kết với kênh. Một kênh có thể sử dụng chiến dịch quảng bá trong video để hiển thị hình thu nhỏ của một video được quảng bá trong trình phát video trong khi người dùng 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.

  • Bạn có thể sử dụng phương thức channels.update mới để cập nhật dữ liệu về chiến dịch quảng bá trong video của một 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:

  • Các tài nguyên kênh hiện hỗ trợ thuộc tính status.isLinked. Thuộc tính này cho biết liệu dữ liệu kênh có xác định được người dùng đã liên kết với tên người dùng trên YouTube hoặc 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 thuê bao hiện hỗ trợ phần subscriberSnippet. Đối tượng đó đóng gói dữ liệu đoạn trích cho kênh của người đăng ký.

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

  • Thông 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 đã đánh giá bằng điểm xếp hạng 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 cho phương thức này.)

    Phương thức này trả về lỗi forbidden đối với các yêu cầu cố gắng truy xuất thông tin về mức phân loại video nhưng không được uỷ quyền đúng cách để thực hiện việc này.

  • Với việc giới thiệu tham số myRating, phương thức videos.list cũng đã được cập nhật để hỗ trợ 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à thông số phân trang không được hỗ trợ cho các yêu cầu sử dụng thông số id.)

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

    • Tài nguyên youtube#videoListResponse được trả về để phản hồi yêu cầu videos.list, hiện chứa đối tượng pageInfo, trong đó có thông tin chi tiết như tổng số kết quả và số kết quả có trong tập 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.

  • Đã thêm thuộc tính channelTitle 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 này 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 đã xác thực. Bạn chỉ có thể sử dụng thông số này trong một yêu cầu được uỷ quyền đúng cách.

    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. Thông 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 tối đa được phép đã được cập nhật. Lỗi hiện được báo cáo là lỗi forbidden và lý do 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 phân loại like hoặc dislike cho một video hoặc xoá mức phân loại khỏi một 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ề khi 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 biệt và phương thức thumbnails.set mới cho phép bạn tải hình thu nhỏ video tuỳ chỉnh lên YouTube và đặt hình thu nhỏ đó cho một 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ề khi phản hồi lệnh gọi phương thức thumbnails.set.

    Xin 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 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 hiện 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 danh sách phát và thuộc tính status.privacyStatus xác định trạng thái quyền riêng tư của mục 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 theo 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ó 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 bên dưới:

    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 yêu cầu không hợp lệ.
  • Tham số onBehalfOfContentOwner đã bị xoá khỏi danh sách các tham số được hỗ trợ cho phương thức videos.updatevideos.delete.

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

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

  • Đã thêm thuộc tính channelTitle vào snippet cho các tài nguyên sau:

    • activity – Thuộc tính này chỉ định tên của kênh chịu trách nhiệm cho 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:

    • Tham số channelType cho phép bạn hạn chế tìm kiếm kênh để truy xuất tất cả kênh hoặc chỉ truy xuất 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ề lỗi invalidSnippet. Lỗi này đượ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 và những nhà sáng tạo nội dung khác cung cấp nội dung của họ trên YouTube.

    • Thông số onBehalfOfContentOwner cho biết 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 được chỉ định trên YouTube.

      Thông số này dành cho những đố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 lẻ.

      Các 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ợ, 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 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ề 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 thông tin 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
      • có hình thu nhỏ hay không
      • đề 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 đã tải lên YouTube, bao gồm độ 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, 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ủa YouTube. Các thuộc tính của đối tượng này cho biết 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 xử lý tệp video đã tải lên của YouTube.

      • Đối tượng suggestions chứa các đề xuất xác định cơ hội cải thiện chất lượng video hoặc siêu dữ liệu cho 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 xác thực.

      • dimension – Cho biết video có ở định dạng 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à một đố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 các yêu cầu chưa 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 mã hồ sơ 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 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ố này 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 cho 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 bao gồm các thay đổi sau:

  • Hiện tại, chúng tôi đã cung cấp mã mẫu cho các phương thức và ngôn ngữ 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 tham 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, 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, được mô tả dưới đây.

  • 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 những video liên kết với danh mục video đã chỉ định.
    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 trang web. Đặt giá trị tham số thành true để chỉ truy xuất các 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ị tham số thành true để chỉ truy xuất video được phân phối.
  • Một số tài nguyên API hỗ trợ các thuộc tính mới. Bảng bên dưới xác định các tài nguyên và thuộc tính mới của tài nguyên:

    Tài nguyên Tên tài sản Giá trị Mô tả
    activity contentDetails.playlistItem.playlistItemId string Mã mục trong danh sách phát do YouTube chỉ định để nhận dạng duy nhất mục đó trong danh sách phát.
    activity contentDetails.channelItem object Một đối tượng chứa thông tin về tài nguyên đã được thêm vào một kênh. Thuộc tính này chỉ xuất hiện nếu snippet.typechannelItem.
    activity contentDetails.channelItem.resourceId object Một đố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 đúng một trong số các thuộc tính – videoId, playlistId, v.v. – chỉ định mã 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ị đượ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 thức đó 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 cho các phương thức 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ố gắng create hoặc cập nhật một danh sách phát có cùng tên với một 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ằng 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ằng 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ệ.