Nhật ký sửa đổi

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

Ngày 10 tháng 7 năm 2025

Kể từ ngày 21 tháng 7 năm 2025, YouTube sẽ điều chỉnh nội dung mà biểu đồ mostPopular của phương thức video.list trả về. Trước đây, bảng xếp hạng mostPopular phản ánh những video xuất hiện trong danh sách Thịnh hành. Giờ đây, bảng xếp hạng mostPopular sẽ có video trong các bảng xếp hạng Thịnh hành thuộc danh mục Âm nhạc, Phim và Trò chơi. Thay đổi này về API diễn ra đồng thời với việc ngừng cung cấp trang Thịnh hành của YouTube.

Ngày 26 tháng 3 năm 2025

Kể từ ngày 31 tháng 3 năm 2025, YouTube sẽ thay đổi cách tính số lượt xem video Shorts. Trước đây, đối với video Shorts, lượt xem được tính sau khi người dùng phát một video Shorts trong số lượng giây nhất định. Từ nay, số lượt xem sẽ là số lần video Shorts của bạn bắt đầu phát hoặc phát lại mà không có yêu cầu về thời gian xem tối thiểu. Tìm hiểu thêm

Kể từ ngày 31 tháng 3 năm 2025, các trường sau đây trong Data API sẽ trả về số lượt xem video Shorts theo thay đổi này:

  • channels.statistics.viewCount
  • videos.statistics.viewCount

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

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

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 tế 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 dành cho người lớn hay không, hãy đặt thuộc tính status.containsSyntheticMedia. Bạn có thể đặt thuộc tính này khi gọi phương thức videos.insert hoặc videos.update. Nếu được đặt, thuộc tính này sẽ được trả về trong tài nguyên video.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 đều đã 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 dùng nữa trong vài năm. 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 nữa.

Chúng tôi đã thêm thông báo về việc ngừng hoạt động vào tất cả cá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ó nội dung được trả tiền để quảng bá.

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

Định nghĩa về tài nguyên video liveStreamingDetails.concurrentViewers đã được cập nhật để lưu ý rằng số lượng người xem đồng thời mà YouTube Data API trả về có thể khác với số lượng người xem đồng thời đã được xử lý và lọc bỏ nội dung rác có trong 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ợ nữa và các thông tin 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 kênh đã tải lên quá nhiều hình thu nhỏ trong 24 giờ qua và 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ố.

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 từ ngày 7 tháng 8 năm 2023 trở đi.

Ngoài ra, một ví dụ minh hoạ cách truy xuất các 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ừ số nguyên không dấu.

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

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

Từ nay đến ngày 1 tháng 12 năm 2022, các phương thức captions.list, captions.update, captions.downloadcaptions.delete sẽ hỗ trợ cả mã nhận dạng cũ và mới của tệp phụ đề. Tuy nhiên, từ ngày 1 tháng 12 năm 2022, YouTube sẽ ngừng hỗ trợ mã nhận dạng cũ của tệp phụ đề. 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ã nhận dạng cũ của tệp phụ đề 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ế hoàn toàn tất cả dữ liệu về tệp phụ đề đã lưu trữ trong khoảng thời gian từ nay đến hết ngày 1 tháng 12 năm 2022. Điều này có nghĩa là đối với bất kỳ video nào mà bạn lưu trữ dữ liệu phụ đề, bạn nên xoá dữ liệu hiện được lưu trữ, sau đó gọi phương thức captions.list để truy xuất bộ phụ đề 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

Phần 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ừ 128 GB lên 256 GB.

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

Định nghĩa tham số myRecentSubscribersmySubscribers của phương thức subscriptions.list đều đã được cập nhật để lưu ý rằng API có thể giới hạn số lượng người đăng ký tối đa được trả về. Thay đổi này là một nội dung điều chỉnh trong tài liệu chứ không phải là 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 nhằm ẩn 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 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 nhằm 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ẽ được đặt ở 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 công khai số lượt không thích 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 nhằm được miễn trừ. Để đăng ký được miễn trừ, bạn phải hoàn tất đơn đă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 trùng lặp chức năng có sẵn 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 một 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 lớn hơn hạn mức phân bổ 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 được thực hiện bằng cách nhà phát triển điền thông tin và gửi Biểu mẫu kiểm tra và yêu cầu tăng định 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 khi 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 cách 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 tăng hạn mức được phân bổ.
  • Biểu mẫu kháng nghị: Nhà phát triển có dự án API không vượt qua được quy trình kiểm tra mức độ tuân thủ (hoặc bị từ chối yêu cầu tăng số lượng đơn vị hạn mức) có thể điền thông tin 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 một ứng dụng API thay mặt cho nhà phát triển, nếu có sự thay đổi về quyền kiểm soát (ví dụ: thông qua việc mua bán cổ phiếu, sáp nhập hoặc một hình thức giao dịch doanh nghiệp khác) liên quan đến một dự án API, thì 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ơ của chúng tôi, kiểm tra mức độ tuân thủ trường hợp sử dụng của dự án API mới và xác thực hạn mức hiện tại được phân bổ cho 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 mà bạn dự định và giúp chúng tôi hỗ trợ bạn hiệu quả 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ề 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 những 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 được vài năm như đã nêu trong mục nhật ký sửa đổi ngày 28 tháng 4 năm 2016.

    Trước 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 một ứng dụng API cố gắng thêm video vào một danh sách phát yêu thích không tồn tại. Từ nay 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. Mọi 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 sẽ bị ngừng hoạt động theo các 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 dùng nữa. Những thuộc tính này hiện không được hỗ trợ trong giao diện người dùng của YouTube Studio và trên YouTube. Do đó, các chỉ số này cũng không còn được hỗ trợ thông 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 biểu thị 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 những 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 dùng nữa. Những thuộc tính này hiện không được hỗ trợ trong giao diện người dùng của YouTube Studio và trên YouTube. Do đó, các chỉ số này cũng không còn được hỗ trợ thông 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, tham số hl của phương thức channelSection.list cũng đã ngừng hoạt động vì các tính năng mà tham số này hỗ trợ không được hỗ trợ.

    Tất cả các thuộc tính đã bị xoá khỏi channelSection biểu thị 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 những 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 đã bị ngừng sử dụng. Những giá trị này không còn được hỗ trợ trên các trang kênh YouTube nữa. 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. Tài sản này không còn được hỗ trợ trên YouTube nữa. Do đó, tài sản này cũng 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ợ 2 thuộc tính mới:

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

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

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

    Trong mọi trường hợp, lỗi này đều 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ù nhật ký xem và danh sách xem sau của người dùng không thể truy cập qua API, nhưng API không trả về những lỗi cụ thể này.

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

Chúng tôi đã thêm 2 phần 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 thông 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 bất kỳ trình phát được nhúng nào của YouTube trước khi người dùng tương tác với trình phát để cho biết ý định phát. Bạn có thể giới hạn dữ liệu được chia sẻ với YouTube trước khi người dùng tương tác với trình phát bằng cách đặt Autoplay thành false.
  • Mục III.E.4.j mới liên quan đến việc kiểm tra trạng thái Dành cho trẻ em (MFK) của nội dung trước khi nhúng nội dung đó vào các trang web và ứng dụng của bạn. Bạn có trách nhiệm biết khi nào video mà bạn nhúng trên API Client là 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ụ YouTube Data API 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 Dành cho trẻ em của video giải thích cách tra cứu trạng thái Dành cho trẻ em của video bằng Dịch vụ YouTube Data API.

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à người dùng không cần tương tác với trình phát; do đó, quá trình 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 (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 sẵ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 hiển thị trên trang web YouTube.
  • Từ khoá của kênh (được xác định trong thuộc tính brandingSettings.channel.keywords) có thể bị cắt bớt nếu vượt quá độ dài tối đa cho phép là 500 ký tự hoặc nếu chứa dấu ngoặc kép chưa đượ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 những thay đổi sau đây về API. Tất cả thay đổi sẽ có hiệu lực từ ngày 9 tháng 9 năm 2020 (ngày công bố thông báo này) trở đi. Do đó, nhà phát triển không nên dựa vào bất kỳ tính năng API nào được liệt kê bên dưới nữa.

  • Các tài nguyên, phương thức, tham số và thuộc tính tài nguyên API sau đây sẽ ngừng hoạt động ngay lập tức và sẽ ngừng hoạt động vào hoặc sau ngày thông báo này:
    • Các thuộc tính tài nguyên channel sau đây:
      • Thuộc tính statistics.commentCount
      • Đối tượng brandingSettings.image và tất cả các thuộc tính con của đối tượng đó
      • brandingSettings.hintsDanh sách và tất cả tài sản 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ữa 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 mọi yêu cầu.
  • Cả thuộc tính contentDetails.relatedPlaylists.watchLatercontentDetails.relatedPlaylists.watchHistory của tài nguyên channel đều được thông báo là đã ngừng hoạt động vào ngày 11 tháng 8 năm 2016. Giờ đây, phương thức playlistItems.insert và phương thức playlistItems.delete hỗ trợ các danh sách phát này cũng không được dùng nữa và 2 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 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. Ngay lập tức, chúng tôi sẽ chỉ tính phí cơ bản cho phương thức được gọi. Bạn có thể tìm thêm thông tin về hạn mức đơn giản tại đây.

Ảnh hưở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 có chi phí như cũ. 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, mức tác động có thể xảy ra là hạn mức được phân bổ (bạn có thể xem trong Google Cloud Console) sẽ được sử dụng hiệu quả hơn một chút.

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 các dự án của mình để đảm bảo tiếp tục truy cập vào Dịch vụ API YouTube.

Mục 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ỏ 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 một ứ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 một ứng dụng chính thức hoặc đã được kiểm tra.

Các dự án API được tạo trước ngày 28 tháng 7 năm 2020 hiện không bị ảnh hưởng bởi thay đổi này. 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 các dự án của mình để đảm bảo có thể tiếp tục sử dụng 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 đề cập 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 đã xuất bản nội dung cập nhật tài liệu liên quan đến quy trình tính hạn mức của chúng tôi. Tuy nhiên, do một số tình huống không lường trước được, hạn mức mới vẫn chưa có hiệu lực. Do đó, chúng tôi đã khôi phục tài liệu để đảm bảo tính chính xác. Để tránh nhầm lẫn, mục nhập 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 tương lai gần.

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 đều đã 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 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 các ứng dụng API của bạn tuân thủ một số phần cụ thể trong Điều khoảnChính sách (API TOS) 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 nhất định trong Đ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 đưa ra trong quá trình kiểm tra việc tuân thủ API. Chúng tôi hy vọng rằng thông tin 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 rõ 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 một thông báo ngừng cung cấp trước đó.

Tính năng bản tin của kênh hiện đã ngừng hoạt động hoàn toàn. Thay đổi này được thông báo 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ợ nữa và phương thức activities.list không còn trả về bản tin của kênh. Để biết thêm thông tin chi tiết, vui lòng xem 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 cung cấp tính năng bản tin trên kênh. Do đó, phương thức activities.insert sẽ không được dùng nữa và phương thức activities.list sẽ ngừng trả về bản tin 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 xem 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 có những thay đổi sau:

  • 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 trên YouTube. Hội viên hỗ trợ tài chính định kỳ cho nhà sáng tạo và nhận được các đặc quyền. Ví dụ: hội viên có thể trò chuyện khi nhà sáng tạo bật chế độ chỉ dành cho hội viên cho một cuộc trò chuyện.

      Tài nguyên này thay thế tài nguyên sponsor. Tài nguyên này được ghi lại trong YouTube Live Streaming API. Tài nguyên sponsor hiện không được dùng nữa và các ứng dụng API nên cập nhật các lệnh gọi đến phương thức sponsors.list để 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 đã uỷ quyền cho yêu cầu API quản lý. membershipsLevels.listPhương thức này 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 này hiện hỗ trợ khả năng xác định nội dung hướng đến trẻ em, mà YouTube gọi là "dành cho trẻ em". Tìm hiểu thêm về nội dung "dành cho trẻ em" trong Trung tâm trợ giúp của YouTube.

Tài nguyên channelvideo hỗ trợ 2 thuộc tính mới để giúp nhà sáng tạo nội dung và người xem xác định nội dung dành cho trẻ em:

  • Thuộc tính selfDeclaredMadeForKids cho phép nhà sáng tạo nội dung chỉ định xem kênh hay 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 đã uỷ quyền cho 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 Trung tâm trợ giúp của YouTube để biết thêm thông tin về cách đặt đối tượng người xem cho kênh, video hoặc chương trình phát sóng của bạn.

Chúng tôi cũng đã cập nhật Điều khoản dịch vụ của Dịch vụ API YouTube và Chính sách dành cho nhà phát triển. Vui lòng xem Điều khoản dịch vụ của Dịch vụ API YouTube – Nhật ký sửa đổi để biết thêm thông tin. Những thay đổi đối với Điều khoản dịch vụ của Dịch vụ API YouTube và Chính sách dành cho nhà phát triển sẽ có hiệu lực từ ngày 10 tháng 1 năm 2020 theo giờ Thái Bình Dương.

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

Tài liệu tham khảo về API đã được cập nhật để phản ánh một 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 của API. Do thay đổi này, số người đăng ký mà dịch vụ YouTube Data API trả về sẽ được làm tròn xuống thành 3 chữ số có nghĩa đối với 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 để lấy dữ liệu về kênh của chính họ. Chủ sở hữu kênh vẫn có thể xem số người đăng ký chính xác trong YouTube Studio.

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

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

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

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

  • Tài liệu tham khảo API đã được cập nhật để giải thích rõ hơn các trường hợp sử dụng phổ biến cho từng phương thức và cung cấp các mẫu mã động, chất lượng cao thông qua tiện ích Trình khám phá API. Hãy xem tài liệu về phương thức channels.list để biết ví dụ. Hiện có 2 phần tử mới trên các trang mô tả phương thức API:

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

    • Mục Các trường hợp sử dụng phổ biến mô tả một hoặc nhiều trường hợp sử dụng phổ biến cho phương thức được giải thích trên trang. Ví dụ: bạn có thể gọi phương thức 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 các giá trị mẫu vào Trình khám phá API cho trường hợp sử dụng của mình hoặc mở Trình khám phá API ở chế độ toàn màn hình với các giá trị đã được điền sẵn. Những thay đổi này nhằm giúp bạn dễ dàng xem các mẫu mã có thể áp dụng trực tiếp cho trường hợp sử dụng mà bạn đang cố gắng triển khai trong ứng dụng của riêng mình.

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

  • Công cụ mã mẫ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. Khi sử dụng công cụ đó, bạn có thể khám phá các trường hợp sử dụng cho nhiều phương thức, tải các giá trị vào Trình khám phá API và mở Trình khám phá API ở chế độ toàn màn hình để nhận các mẫu mã bằng Java, JavaScript, PHP và Python.

    Cùng với thay đổi này, những trang trước đây liệt kê các mã mẫu có sẵn cho Java, JavaScript, PHP và Python đã bị xoá.

  • Chúng tôi đã cập nhật hướng dẫn nhanh cho Java, JavaScript, PHPPython. Các hướng dẫn được 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 nêu 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 có những thay đổi sau:

  • Định nghĩa về thuộc tính snippet.thumbnails của tài nguyên channel đã được cập nhật để lưu ý rằng khi hiển thị hình thu nhỏ trong ứng dụng, mã của bạn phải sử dụng chính xác URL hình ảnh như khi chúng đượ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 một 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 của API. Sau thời gian đó, bạn có thể thấy hình ảnh bị lỗi trong ứng dụng nếu ứng dụng cố gắng tải hình ảnh trên YouTube từ miền http.

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

    Thuộc tính recordingDetails.location.altitude của tài nguyên video không được 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 một giá trị cho thuộc tính đó, thì có thể dữ liệu đến 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 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 phiên bản 2 sang API phiên bản 3. Ngoài ra, hướng dẫn cũng đã được xoá đối với những tính năng không còn được dùng nữa 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 có những 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ì hệ thống sẽ trả về một invideoPromotion trống hoặc không trả về bất kỳ dữ liệu invideoPromotion nào.
    • Các nỗ lực cập nhật dữ liệu invideoPromotion khi gọi channels.update sẽ trả về một 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 sẽ được coi là không có thao tác, tức là chúng sẽ không thực sự thực hiện việc cập nhật.

    Sau ngày 27 tháng 5 năm 2018, có thể những yêu cầu này sẽ trả về thông báo lỗi để cho biết, chẳng hạn như invalidPromotion là một phần không hợp lệ.

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

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

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

    Các mẫu có thể tuỳ chỉnh được thiết kế để cung cấp cho bạn một điểm bắt đầu 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 bắt đầu 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 hướng dẫn bắt đầu nhanh:

    • Hàm removeEmptyParameters nhận một danh sách các cặp khoá-giá trị tương ứng với các tham số yêu cầu API và xoá những tham số không có giá trị.
    • Hàm createResource lấy một danh sách các cặp khoá-giá trị tương ứng với các thuộc tính trong một tài nguyên API. Sau đó, nó sẽ chuyển đổi các thuộc tính thành một đối tượng JSON có thể dùng trong các thao tác insertupdate. Ví dụ dưới đây 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 mã mẫu đầy đủ cục bộ 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 có những 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 các thư viện google-authgoogle-auth-oauthlib thay vì thư viện oauth2client (hiện không được dùng nữa).

    Ngoài thay đổi đó, công cụ này hiện cung cấp đầy đủ mã mẫu cho các ứng dụng Python đã cài đặt và các ứng dụng máy chủ web Python. Các ứng dụng này sử dụng các quy trình uỷ quyền có chút khác biệt. Để 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 đến tài liệu cho 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 chuyển phía trên các thẻ để chuyển từ xem một đoạn mã sang xem toàn bộ mẫu.
    4. Giờ đây, thẻ này sẽ cho thấy 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 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 về chạy các mẫu mã đầy đủ cục bộ 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 có những thay đổi sau:

  • Định nghĩa về 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 về 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 ở 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 các biểu trưng mới "phát triển bằng YouTube" trên 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 có những thay đổi sau:

  • Chúng tôi đã ra mắt hướng dẫn bắt đầu nhanh mới về YouTube Data API 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 các yêu cầu API
    • Chuyển đổi giữa đoạn mã và mẫu mã đầy đủ
    • Sử dụng các hàm chuẩn
    • Đang tải tài nguyên hiện có (đối với các phương thức cập nhật)

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

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

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

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

    Các thuộc tính tài nguyên video sau đây sẽ không được dùng nữa. Mặc dù các thuộc tính 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ề các giá trị cho những thuộc tính đó cho đến thời điểm đó. Tương tự, các yêu cầu videos.insertvideos.update đặt các giá trị thuộc tính đó sẽ không tạo ra lỗi trước ngày đó, nhưng có thể dữ liệu đế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 có những 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à có tính 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ã bằng 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 đều cho thấy 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 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ị thông số và thuộc tính, đồng thời các đoạn mã sẽ tự động cập nhật để phản ánh những giá trị mà 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ột mẫu đầy đủ chứa đoạn mã đó cũng như mã nguyên mẫu để uỷ quyền và gửi yêu cầu. Bạn có thể sao chép và chạy các mẫu đầy đủ từ dòng lệnh hoặc máy chủ web cục bộ.

    • Thực hiện 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ụ gọi API thay mặt bạn.)

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

  • Công cụ Đoạn mã Data API 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ã chuẩn 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 có những thay đổi sau:

  • Các hướng dẫn mới về cách bắt đầu nhanh giải thích cách thiết lập một ứng dụng đơn giản đưa ra các yêu cầu đối với YouTube Data API. Hiện tại, các hướng dẫn này có sẵn cho Android, Apps Script, Go, Java, JavaScript, Node.js, PHP, PythonRuby.

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

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

  • Thuộc tính topicDetails.topicCategories[] mới của tài nguyên channel chứa danh sách các URL trên Wikipedia mô tả nội dung của kênh. Các URL này tương ứng với mã nhận dạng 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, xác định thời điểm mục được thêm 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 các URL của Wikipedia mô tả nội dung của video. Đối với tài nguyên video, các URL này tương ứng với mã nhận dạng 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ỳ (MPAA) đã phân loại cho một đoạn giới thiệu hoặc đoạn xem trước của 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 tuyển chọn có một số thay đổi:

  • Các chủ đề sau đây đã được thêm làm chủ đề phụ của Society:
    Tênmã nhận dạng 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à chủ đề con của Entertainment) đã bị xoá.
  • Chủ đề Children's music (trước đây là chủ đề 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 có những thay đổi sau:

  • Có 3 thay đổi nhỏ đối với danh sách mã nhận dạng 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à danh mục con của Entertainment) là danh mục mới.
    • Danh mục Health (trước đây là danh mục 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 có những thay đổi sau:

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

    Vào ngày 10 tháng 2 năm 2017, YouTube sẽ bắt đầu trả về một nhóm nhỏ mã nhận dạng chủ đề thay vì nhóm mã nhận dạng chi tiết hơn nhiều như từ trước đến nay. 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ị API Client 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ê những mã nhận dạng chủ đề sẽ được hỗ trợ sau thời gian đó. Xin lưu ý rằng danh sách danh mục là giống nhau cho tất cả cá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 sẽ không được dùng nữa:

    • Thuộc tính topicDetails.topicIds[] của tài nguyên channel. Thuộc tính này sẽ được hỗ trợ cho đến ngày 10 tháng 11 năm 2017.
    • Thuộc tính topicDetails.relevantTopicIds[] của tài nguyên video. Thuộc tính này sẽ được hỗ trợ cho đến 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ả các chủ đề liên quan đến một video.)
  • Vì Freebase đã ngừng hoạt động, nên hướng dẫn Tìm kiếm bằng chủ đề trên Freebase đã bị xoá khỏi tài liệu. Tài liệu hướng dẫn đó cung cấp các mẫu mã để minh hoạ cách một ứng dụng sẽ hoạt động với Freebase API.

    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 về phương thức search.list.

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

Bản cập nhật này có những 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 một 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 một giá trị cho ít nhất một trong các tham số maxHeight hoặc maxWidth. Hai tham số mới đó sẽ được giải thích ở phần sau trong mục nhật ký sửa đổi này.

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

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

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

    • Phương thức videos.list hỗ trợ 2 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 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 sẽ sử dụng chiều cao và/hoặc chiều rộng phù hợp với bố cục ứng dụng của bạn. Máy chủ API sẽ điều chỉnh kích thước trình phát cho phù hợp để đảm bảo trình phát được nhúng không có các thanh màu đen bao viền 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 một trình phát 640x360 nếu bạn không đặt tham số maxHeight hoặc maxWidth.

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

      Các thuộc tính player.embedHeightplayer.embedWidth mới (được 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ó

    • Phần mô tả về 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 tiêu chí 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 phần kênh được sửa đổi bằng giao diện người dùng trên trang web YouTube.

    • Định nghĩa về thuộc tính snippet.name của tài nguyên i18nLanguage đã được sửa để phản ánh rằng giá trị này thể hiện tên của một ngôn ngữ như đượ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 giá trị thuộc tính có độ dài tối đa là 280 ký tự.

    • Các thuộc tính contentDetails.startAtcontentDetails.endAt của tài nguyên playlistItem không đượ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.

    • Các 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ột mã thông báo cấp quyền truy cập vào phạm vi https://www.googleapis.com/auth/youtubepartner.

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

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

    • Phần 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 đây:

      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 dữ liệu hoạt động trên trang chủ của người dùng không có sẵn 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 không được 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 là không hợp lệ. Một lý do khiến lỗi này xảy ra là do 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 trong danh sách phát "nhật ký 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 phép 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. Trước đây, lỗi này xảy ra đối 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 có 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.

  • Các thông tin cập nhật khác

    • Mục nhật ký sửa đổi cho 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 các thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel được đưa vào phản hồi, chúng luôn chứa các giá trị HLWL tương ứng. Ngoài ra, những thuộc tính đó chỉ được đưa vào nếu một 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 có những thay đổi sau:

  • Bản cập nhật nhật ký sửa đổi ngày 11 tháng 8 năm 2016 đã đề cập đến một số thay đổi liên quan đến mã nhận dạng chủ đề, bao gồm cả việc tập hợp mã nhận dạng chủ đề được hỗ trợ sẽ thay đổi kể từ ngày 10 tháng 2 năm 2017. Danh sách các chủ đề được hỗ trợ sẽ được xuất bản 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. Thông báo về những thay đổi này đã được đưa ra 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 chứa các mục tương tự như những mục mà người dùng YouTube không đăng nhập sẽ thấy trên trang chủ.

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

    • Giờ đây, các thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel lần lượt chứa các giá trị HLWL cho tất cả các kênh.

      Xin lưu ý rằng những thuộc tính này chỉ hiển thị cho 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 đó. Các thuộc tính luôn chứa các giá trị HLWL, ngay cả đối với người dùng được uỷ quyền truy xuất dữ liệu về kênh của chính người dùng. Do đó, bạn không thể truy xuất mã nhận dạng nhật ký xem và danh sách phát Xem sau thông 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 các mục trong danh sách phát (playlistItems.list) cho danh sách phát Xem sau hoặc nhật ký xem của một kênh hiện trả về danh sách trống. Hành vi này áp dụng cho các giá trị mới là HLWL, cũng như mọi mã nhận dạng danh sách phát xem sau hoặc nhật ký 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 và các thuộc tính con của đối tượng này sẽ không được trả về nữa. Trước đây, chỉ chủ sở hữu video mới có thể truy xuất dữ liệu này (chẳng hạn như đối tượng fileDetails gốc).

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

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

  • Điều khoản dịch vụ mới của Dịch vụ API YouTube ("Điều khoản mới cập nhật") được công bố gần đây (được thảo luận chi tiết trên Blog kỹ thuật và phát triển của YouTube) có nhiều điểm cập nhật so với Điều khoản dịch vụ hiện tại. Ngoài Điều khoản mới cập nhật (sẽ có hiệu lực từ ngày 10 tháng 2 năm 2017), nội dung cập nhật này còn bao gồm một số tài liệu hỗ trợ để giúp giải thích các chính sách mà nhà phát triển phải tuân thủ.

    Bộ tài liệu mới đầy đủ được mô tả trong nhật ký sửa đổi của Điều khoản mới. Ngoài ra, những thay đổi trong tương lai đối với Điều khoản mới hoặc các tài liệu hỗ trợ đó cũng sẽ được giải thích trong nhật ký sửa đổi đó. Bạn có thể đăng ký nhận nguồn cấp dữ liệu RSS liệt kê các thay đổi trong nhật ký sửa đổi đó thông qua một đường liên kết trong tài liệu.

  • 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 kết với 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 liên quan đến một chủ đề cụ thể.

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

    • Kể từ ngày 10 tháng 2 năm 2017, YouTube sẽ bắt đầu trả về một nhóm nhỏ mã nhận dạng chủ đề thay vì nhóm mã nhận dạng chi tiết hơn nhiều như từ trước đến nay. Tập hợp các chủ đề được hỗ trợ đó sẽ xác định các danh mục cấp cao như Thể thao hoặc Bóng rổ, nhưng ví dụ: tập hợp này 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 thay đổi này.

    • Bạn có thể sử dụng mọi mã nhận dạng chủ đề trên 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 gian đó, bạn sẽ 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 cố gắng tìm kiếm kết quả bằng cách sử dụng một mã chủ đề không nằm trong nhóm nhỏ hơn gồm các mã chủ đề được hỗ trợ, thì API sẽ trả về một tập hợp kết quả trống.

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

    • Tham số home của phương thức activities.list cho phép người dùng được uỷ quyền truy xuất nguồn cấp dữ liệu hoạt động sẽ xuất hiện trên trang chủ YouTube cho người dùng đó. Những yêu cầu sử dụng tham số này sau ngày 12 tháng 9 năm 2016 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 chỉ hiển thị cho 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 đó. 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 nhật ký xem hoặc danh sách phát xem sau của một kênh sẽ trả về một danh sách trống sau ngày 12 tháng 9 năm 2016. Các yêu cầu truy xuất các 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ề một danh sách trống sau thời gian đó. Điều này áp dụng cho các giá trị mới là HLWL, cũng như mọi mã nhận dạng danh sách phát xem sau hoặc nhật ký 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 đối tượng này sẽ không được trả về nữa 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 có những 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ơ trên Google+. Sau khi ngừng sử dụ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ơ trên Google+. Sau khi ngừng sử dụ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ì không có thuộc tính nào trong số này được trả về sau khi ngừng sử dụng, nên cả hai thuộc tính đều đã bị xoá khỏi tài liệu tài nguyên tương ứng.

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

Bản cập nhật này có những 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ý kênh của người dùng đã xác thực theo thứ tự thời gian đảo ngược kể từ thời điểm họ đăng ký kênh.

    Xin lưu ý rằng tham số mới chỉ hỗ trợ việc truy xuất 1.000 người đăng ký gần đây nhất cho kênh của 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. Tham số đó không trả về người đăng ký theo một thứ tự cụ thể và không giới hạn số lượng người đăng ký có thể truy xuất.

  • Định nghĩa về thuộc tính snippet.thumbnails.(key) đã được cập nhật cho các tài nguyên activity, playlistItem, playlist, search result, thumbnailvideo để lưu ý rằng một số video có thêm các kích thước hình thu nhỏ.

    • Hình ảnh standard có chiều rộng 640 px và chiều cao 480 px.
    • Hình ảnh maxres có chiều rộng 1280px và chiều cao 720px.
  • Định nghĩa về 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.

  • Giờ đây, phương thức videos.list sẽ trả về lỗi bị cấm (403) 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. Những phần này chỉ được cung cấp cho chủ sở hữu video.

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 YouTube Data API. Đ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ẽ cho thấy các mẫu mã cho một hoặc nhiều trường hợp sử dụng. Ví dụ: công cụ 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 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ụ sẽ hiển thị phản hồi API cho từng yêu cầu. Nếu bạn đã sửa đổi các tham số yêu cầu, thì phản hồi của API sẽ dựa trên các giá trị tham số mà bạn cung cấp. Xin lưu ý rằng bạn cần cho phép công cụ gửi yêu cầu thay cho bạn để hiển thị các phản hồi API.

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

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

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

  • Cả hai thuộc tính recordingDetails.locationfileDetails.recordingLocation của tài nguyên video đều đã được cập nhật để giải thích sự khác biệt giữa 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 vị trí này, tìm kiếm vị trí này trên video công khai và vị trí này có thể xuất hiện cho người dùng trên video công khai.
    • Giá trị thuộc tính fileDetails.recordingLocation là bất biến và thể hiện 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 về 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ột mã nhận dạng danh sách phát đề cập đến một danh sách phát trống và không thể tìm nạp. Điều này là do chức năng video yêu thích đã ngừng hoạt động. Xin lưu ý rằng thuộc tính này không tuân theo chính sách ngừng sử dụng API.

  • Định nghĩa về lỗi ineligibleAccount (có thể do 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 cho yêu cầu API chưa được hợp nhất với Tài khoản Google của người dùng.

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

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

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

  • Phần Mức sử dụng hạn mức trong hướng dẫn Bắt đầu đã được cập nhật để liên kết đến Google Developer's 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 của mình.

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

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

  • Nội dung cập nhật đối với các tài nguyên và phương thức hiện có

    • 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à 2560 x 1440 px. Kích thước tối thiểu (2048 x 1152 pixel) 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 tiêu chí để nhận được 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ả các thuộc tính con của đối tượng này đều đã bị ngừng sử dụng.

    • Phản hồi của API đối với 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ã vùng đượ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 gồm hai chữ cái theo tiêu chuẩn ISO, dùng để xác định khu vực. Phương thức i18nRegions.list trả về danh sách các khu vực được hỗ trợ. Giá trị mặc định là US. Nếu bạn chỉ định một khu vực không được hỗ trợ, YouTube vẫn có thể chọn một khu vực khác thay vì giá trị mặc định để xử lý truy vấn.

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

      Ngoài ra, phương thức videoAbuseReportReasons.list hiện hỗ trợ tham số hl. Tham số này chỉ định ngôn ngữ cần dùng cho văn bản nhãn trong phản hồi 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 video của Hội đồng đánh giá và phân loại thuộc 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 đây:

      • contentDetails.contentRating.fpbRating (Nam Phi)
        Mức phân loại: 10; giá trị thuộc tính: fpb10
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Phân loại: R-12; giá trị thuộc tính: moctwR12
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Phân loại: 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à một sự kiện phát sóng trực tiếp đang diễn ra và có bật tính năng trò chuyện trực tiếp. Sau khi sự kiện phát sóng kết thúc và cuộc trò chuyện trực tiếp khép lại, thuộc tính này sẽ không còn được trả về cho video nữa.

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

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

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    badRequest (400) notEditable Các phương thức channelSections.insert, channelSections.updatechannelSections.delete trả về lỗi này để cho biết bạn không thể tạo, cập nhật hoặc xoá phần kênh được chỉ định.
    badRequest (400) styleRequired Các phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định một giá trị cho thuộc tính snippet.style.
    badRequest (400) typeRequired Các phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định một giá trị cho thuộc tính snippet.type.
    badRequest (400) processingFailure Phương thức commentThreads.list trả về lỗi này để cho biết máy chủ API không xử lý thành công yêu cầu. Mặc dù đây có thể là lỗi tạm thời, nhưng thường cho biết đầ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 nội dung yêu cầu để đảm bảo rằng cấu trúc đó 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 video mà bạn đang cố gắng thêm vào danh sách phát đã có trong một danh sách phát theo bộ khác. Hãy truy cập vào Trung tâm trợ giúp của YouTube để biết thêm thông tin về danh sách phát tuyển tập.
    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 kênh đăng ký tối đa hoặc bạn đã tạo quá nhiều kênh đăng ký 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 được tải lên đã chỉ định một 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 được tải lên đã chỉ định một thời gian xuất bản 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 hình 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 được tải lên đã chỉ định một tiêu đề video không hợp lệ hoặc trống.
    badRequest (400) invalidVideoMetadata Phương thức videos.update trả về lỗi này để cho biết siêu dữ liệu 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

Luật của Liên minh Châu Âu (EU) yêu cầu bạn phải công bố một số thông tin nhất định và nhận được sự đồng ý của người dùng cuối ở EU. Do đó, đối với người dùng cuối ở Liên minh Châu Âu, bạn phải tuân thủ Chính sách về sự đồng ý của người dùng ở Liên minh Châu Âu. Chúng tôi đã thêm thông báo về yêu cầu này trong Điều khoản dịch vụ của API YouTube.

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

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

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

    Bạn có thể đặt giá trị theo ngôn ngữ 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ị theo ngôn ngữ cho một tài nguyên, hãy làm cả hai việc sau:

    • Đảm bảo rằng bạn đã đặt mộ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 tham số 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ữ ứng dụng hoặc mã ngôn ngữ ISO 639-1:2002, đồng thời 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. Đồng thời, công cụ này cũng thêm tiêu đề và nội dung mô tả bằng tiếng Đức và tiếng Tây Ban Nha cho 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 được 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 được 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 bằng tiếng Bồ Đào Nha vào video trong ví dụ trên, thì yêu cầu đó cần phải có dữ liệu bản địa hoá bằng tiếng Đức, tiếng Tây Ban Nha và tiếng Bồ Đào Nha.

  • Truy xuất các giá trị theo ngôn ngữ địa phương

    API hỗ trợ 2 cách để truy xuất các 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 được 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 theo ngôn ngữ, đố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 tiếng Đức và tiếng Tây Ban Nha đã bản địa hoá. Nếu tham số hl được đặt 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 bằng tiếng Pháp được bản địa hoá.

      Lưu ý quan trọng: Tham số hl chỉ hỗ trợ những 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 đã 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à lọc để xác định xem văn bản đã bản địa hoá có tồn tại 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 đã bản địa hoá bằng tiếng Anh ở vùng Appalachia hay không.

    • Khi truy xuất một tài nguyên, hãy thêm localizations vào giá trị tham số part để truy xuất tất cả thông tin chi tiết theo ngôn ngữ của tài nguyên đó. Nếu đang truy xuất dữ liệu được 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ả các bản địa hoá, sau đó lọc để xác định xem có dữ liệu được bản địa hoá mà bạn muốn 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 cho các giá trị văn bản đã 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 rằng mộ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 đang gặp lỗi vì thuộc tính snippet.defaultLanguage chưa được đặt cho tài nguyên đó. Các phương thức channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insertvideos.update hỗ trợ lỗi này.
    badRequest (400) localizationValidationError Lỗi này cho biết một trong các giá trị trong đối tượng localizations của tài nguyên không xác thực được. Ví dụ: lỗi này có thể xảy ra nếu đối tượng chứa mã ngôn ngữ không hợp lệ. 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 có những thay đổi sau:

  • Nội dung cập nhật đối với các tài nguyên và phương thức hiện có

    • Tham số order của phương thức search.list đã được cập nhật để lưu ý rằng nếu bạn sắp xếp các chương trình phát sóng trực tiếp theo viewCount, thì kết quả API sẽ được sắp xếp theo số lượng người xem đồng thời của các chương trình phát sóng trong khi các chương trình phát sóng vẫn đang diễn ra.

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

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

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

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

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

    • Định nghĩa về 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 một danh sách các 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ư trước đây. Bản 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 cho phương thức thumbnails.set đã được cập nhật để phản ánh chính xác rằng nội dung 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 này 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. Bản 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ả về tài nguyên activity đã được cập nhật để phản ánh việc 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 trong danh sách phát được chỉ định.
      playlists.delete
      playlists.insert
      playlists.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doplaylistForbidden
      Mô tả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ị tham số location và/hoặc locationRadius được định dạng không đúng.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidRelevanceLanguage
      Mô tảGiá trị tham số relevanceLanguage được định dạng không đúng cách.
      subscriptions.insert
      Mã phản hồi HTTPbadRequest (400)
      Lý dosubscriptionForbidden
      Mô tả Lỗi này xảy ra khi có bất kỳ trường hợp nào sau đây:
      • 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ố gắng đă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 lượt đăng ký 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 một chế độ cài đặt quyền riêng tư không hợp lệ cho thông báo mặc định.

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

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

  • 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, 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 thông báo này. Tuy nhiên, giá trị thuộc tính hiện luôn được đặt thành 0.

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

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

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

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

    • Phương thức commentThreads.insert không còn hỗ trợ tham số shareOnGooglePlus nữa. Tham số này trước đây cho biết liệu một bình luận và các câu trả lời cho bình luận đó cũng nên đượ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ố này, máy chủ API sẽ bỏ qua thông số đó nhưng vẫn xử lý yêu cầu.

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

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

  • Nội dung cập nhật đối với các tài nguyên và phương thức hiện có

    • Tham số 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 theo thời gian hoặc mức độ liên quan. Hành vi mặc định là sắp xếp các mục 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 dùng trong bản âm thanh mặc định của video.

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

  • 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 khiến một video bị gắn cờ do chứa nội dung phản cảm. Phương thức videoAbuseReportReasons.list cho phép bạn truy xuất danh sách tất cả các lý do khiến video có thể bị gắn cờ.

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

      Chúng tôi cũng đã cập nhật hướng dẫn di chuyển 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 của API phiên bản 2 mà API phiên bản 3 dự kiến sẽ hỗ trợ. Tất cả các tính năng này cũng được giải thích trong hướng dẫn di chuyển.

  • Nội dung cập nhật đối với các tài nguyên và phương thức hiện có

    • Tham số bộ lọc forDeveloper mới của phương thức search.list giới hạn phạm vi 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 cùng 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 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ỉ bao gồm 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 bao gồm 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 phiên bản 2 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ợ nhắm đến các tài nguyên channelSection. Tính năng nhắm mục tiêu theo phần trên kênh giúp bạn hạn chế khả năng hiển thị của một phần nội dung đối với những người dùng đáp ứng các tiêu chí cụ thể.

      API này cung cấp 3 lựa chọn nhắm mục tiêu. Người dùng phải đáp ứng tất cả các chế độ cài đặt nhắm mục tiêu để có thể nhìn thấy một phần kênh.

    • Định nghĩa về 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 cho 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 HTTP 204 (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 Các phương thức channelSections.insertchannelSections.update sẽ trả về lỗi này nếu tài nguyên channelSection được chèn có chứa một giá trị không hợp lệ cho thuộc tính targeting.countries[].
      badRequest (400) targetInvalidLanguage Các phương thức channelSections.insertchannelSections.update sẽ trả về lỗi này nếu tài nguyên channelSection được chèn có chứa một giá trị không hợp lệ cho thuộc tính targeting.languages[].
      badRequest (400) targetInvalidRegion Các phương thức channelSections.insertchannelSections.update sẽ trả về lỗi này nếu tài nguyên channelSection được chèn có chứa một giá trị không hợp lệ cho thuộc tính targeting.regions[].
      badRequest (400) operationNotSupported Phương thức comments.insert sẽ trả về lỗi này nếu người dùng API không thể chèn một bình luận để trả lời bình luận cấp cao nhất được xác định bằng thuộc tính snippet.parentId. 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 bình luậ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ột mã nhận dạng kênh không hợp lệ.
      badRequest (400) subscriptionForbidden Phương thức subscriptions.insert trả về lỗi này nếu người dùng API cố gắng đăng ký kênh của chính mình.
    • Phương thức captions.update không còn hỗ trợ các lỗi invalidMetadatavideoNotFound nữa.

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

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

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

    Hướng dẫn này cũng đề cập đến một số tính năng bình luận mà API phiên bản 2 không hỗ trợ nhưng API phiên bản 3 có hỗ trợ. 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, tức là phản hồi API có thể chứa bình luận về kênh hoặc bất kỳ video nào của kênh đó.
    • Cập nhật nội dung của một bình luận
    • Đánh dấu bình luận là nội dung rác
    • Đặt trạng thái kiểm duyệt của bình luận

  • Hướng dẫn Đăng ký nhận thông báo đẩy đã được cập nhật để phản ánh thực tế là thông báo chỉ được đẩy đến trung tâm Google PubSubHubBub chứ không phải đến trung tâm Superfeedr như trước đây.

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

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

  • Các tài nguyên commentThreadcomment mới của API này 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 bình luận về video hoặc kênh.

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

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

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

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

      • comments.list – Truy xuất danh sách bình luận. Sử dụng phương thức này để truy xuất tất cả câu trả lời cho một bình luận cụ thể.
      • comments.insert – Tạo một câu trả lời cho một bình luận hiện có.
      • comments.update – Sửa đổi một bình luận.
      • comments.markAsSpam – Gắn cờ một hoặc nhiều bình luận là nội dung rác.
      • 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ị. Chủ sở hữu của kênh hoặc video có liên quan đến bình luận phải uỷ quyền cho yêu cầu API.
      • comments.delete – Xoá một 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 Đăng ký nhận thông báo đẩy giải thích khả năng hỗ trợ mới của API đối với thông báo đẩy thông qua PubSubHubBub, một giao thức xuất bản/đă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 được 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 thông tin về 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à một phạm vi hợp lệ cho mọi phương thức API từng 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 nữa. Trước đây, lỗi này cho biết người dùng đăng ký được xác định bằng yêu cầu đã vượt quá giới hạn tỷ lệ đăng ký.

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

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

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

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

  • 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 diễn ra qua kết nối SSL.

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

    Bạn cần có phạm vi mới để gọi tất cả cá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 có những thay đổi sau:

  • Hướng dẫn di chuyển sang YouTube Data API (phiên bản 3) có một thẻ mới tên là Tính năng mới trong API phiên bản 3. Thẻ này liệt kê những tính năng mà API phiên bản 3 hỗ trợ nhưng API phiên bản 2 thì không. Các tính năng tương tự trước đây và hiện 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 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ơ).

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

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

    • Truy xuất đề xuất video – 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 video đề xuất bằng cách gọi phương thức activities.list và đặt giá trị tham số home thành true.

      Trong phản hồi 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ể.

    • Lấy đề xuất về kênh

    • Truy xuất video mới của kênh mà người dùng đã đă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ý. Tuy nhiên, bạn có thể sử dụng API phiên bản 3 để tìm video mới của kênh mà bạn đăng ký bằng cách gọi phương thức activities.list và đặt giá trị tham số home thành true.

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

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

    • Thông báo đẩy cho nội dung cập nhật 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 đối với 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 các thông báo này sẽ chỉ bao gồm nội dung tải lên video và nội dung cập nhật 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. Thẻ nhà phát triển sẽ không hiển thị cho người dùng YouTube, 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 sẽ có thể tìm kiếm những video do chính ứng dụng của 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 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 kiếm video.

    • Sắp xếp video theo ngày xuất bản, số lượt xem hoặc điểm xếp hạng – Trong API phiên bản 2, tham số orderby cho phép bạn sắp xếp video trong một danh sách phát theo vị trí, thời lượng, ngày xuất bản, 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 lựa chọn sắp xếp khác.

      Có một vài trường hợp ngoại lệ. Video mới tải lên, video yêu thích, video đã 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 đây. Vì vậy, mỗi danh sách này đều được sắp xếp theo thứ tự từ mục mới nhất đến mục cũ nhất dựa trên thời gian các mục được thêm vào danh sách.

      • 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ột mục mới được thêm vào danh sách phát "Xem sau" sẽ được thêm vào cuối danh sách đó, do đó, danh sách này sẽ được sắp xếp theo thứ tự từ mục cũ nhất đến mới nhất.

    • Xử lý theo lô – API phiên bản 3 hỗ trợ một trong các trường hợp sử dụng xử lý theo lô 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. Bạn có thể dùng tham số này để chỉ định danh sách mã nhận dạng được phân tách bằng dấu phẩy (mã nhận dạng video, mã nhận dạng kênh, v.v.). Khi sử dụng các phương thức đó, bạn có thể truy xuất danh sách gồm 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ũ (v2) sẽ không được dùng nữa trong phiên bản API hiện tại (v3).

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

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

  • Các 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 và thuộc tính con của chúng đã bị ngừng sử dụng:

    • 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 chịu sự điều chỉnh của Chính sách 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 những 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 Các phương thức playlistItems.insertplaylistItems.update sẽ trả về lỗi này nếu yêu cầu cố gắng đặt vị trí của mục trong danh sách phát, nhưng danh sách phát không sử dụng tính năng sắp xếp thủ công. Ví dụ: các mục trong danh sách phát có thể được sắp xếp theo ngày hoặc mức độ phổ biến. Bạn có thể giải quyết lỗi này bằng cách xoá phần tử snippet.position khỏi tài nguyên được gửi trong nội dung yêu cầu. Nếu muốn mục trong danh sách phát có một vị trí cụ thể, 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 trên 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 đã đóng.
    forbidden (403) channelSuspended Phương thức playlists.list trả về lỗi này nếu tham số channelId của yêu cầu chỉ định một kênh đã bị tạm ngưng.
    forbidden (403) playlistForbidden Phương thức playlists.list sẽ trả về lỗi này nếu tham số id của yêu cầu không hỗ trợ yêu cầu hoặc yêu cầu không được uỷ quyền đúng cách.
    notFound (404) channelNotFound Phương thức playlists.list 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 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 có những thay đổi sau:

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

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

  • Chúng tôi đã cập nhật hướng dẫn di chuyển sang YouTube Data API (phiên bản 3) để giải thích cách sử dụng API phiên bản 3 để 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 phiên bản 2 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 một thay đổi thực tế về API mà là sự ra mắt của mã mẫu mới để tải video lên bằng JavaScript phía máy khách.

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

  • Tài liệu cho phương thức videos.insert đã được cập nhật để bổ sung mẫu mã JavaScript mới như mô tả ở trên. Danh sách các đoạn mã JavaScript mẫu cho YouTube Data API (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 có những thay đổi sau:

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

    Lưu ý quan trọng: Trong nhiều trường hợp, bạn có thể sử dụng các phương thức API khác để truy xuất thông tin với chi phí hạn mức thấp hơn. Ví dụ: hãy xem xét 2 cách 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ã nhận dạng danh sách phát cho các video được tải lên của kênh.

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

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

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

  • Tài nguyên channel chứa 2 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ị hợp lệ của thuộc tính 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ông tin chi tiết hơn 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ị chương trình khuyến mãi tại một thời điểm trong video mà người dùng có nhiều khả năng nhấp vào và ít có khả năng làm gián đoạn trải nghiệm xem. Tính năng này cũng chọn một chương trình khuyến mãi duy nhất để hiển thị trên mỗi video.

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

    Nếu bạn cố 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ả về 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 video của Cơ quan phân loại phim và văn học của New Zealand) hiện hỗ trợ 2 mức phân loại mới: oflcRp13oflcRp16. Các mức này tương ứng với mức phân loại 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 ảnh bìa 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ố hình ảnh khỏi album đó.

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

Bản cập nhật này có những 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 được chỉ định.

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

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

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

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

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

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

  • Một hướng dẫn mới có tên là Di chuyển ứng dụng của bạn 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 các 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 những ứng dụng vẫn đang 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 có những 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 có những thay đổi sau:

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

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

  • Phương thức search.list hiện hỗ trợ các tham số locationlocationRadius, cho phép bạn tìm kiếm video được 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 độ ở tâm của khu vực địa lý hình tròn.

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

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

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

  • Thuộc tính invideoPromotion.items[] của tài nguyên channel đã được cập nhật để lưu ý rằng bạn thường chỉ có thể đặt một mặt hàng được quảng bá cho kênh của mình. Nếu bạn cố gắng chèn quá nhiều mặt hàng được quảng bá, API sẽ trả về lỗi tooManyPromotedItems có mã trạng thái HTTP 400.

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

    • postedPlaylists – danh sách phát mà chủ sở hữu kênh đã đăng lên trang nhật ký hoạt động của kênh
    • postedVideos – video mà chủ sở hữu kênh đã đăng lên 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ý theo dõi

  • 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ừ Văn phòng phân loại phim của Ireland.

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

  • Định nghĩa về tham số q cho phương thức search.list đã được cập nhật để 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 được liên kết với một cụm từ tìm kiếm cụ thể. Giá trị này cũng có thể sử dụng toán tử Boolean OR (|) để tìm video liên quan đến một trong số các 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ị ước chừng và có thể không phải là 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 rằng API trả về mã phản hồi HTTP 204 cho các yêu cầu thành công đối với những phương thức đó.

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

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

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

    API 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ể dùng mã khu vực được hỗ trợ làm giá trị của tham số regionCode khi gọi các phương thức API như search.list, videos.list, activities.listvideoCategories.list.

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

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

  • Tài nguyên channelSection mới chứa thông tin về một nhóm video mà một kênh đã chọn để làm nổi bật. Ví dụ: một phần có thể giới thiệu những video tải lên mới 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 một 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 của 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 bằng cách chỉ định một danh sách mã nhận dạng phần của kênh riêng biệt.

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

  • Định nghĩa về đố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 về đố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 hoặc thuộc tính processingDetails.editorSuggestionsAvailability của video có giá trị là available.

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

  • Định nghĩa về đối tượng invideoPromotion của tài nguyên channel đã được cập nhật để giải thích rằng chỉ chủ sở hữu kênh mới có thể truy xuất đối tượng 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 về tài liệu vì các yêu cầu videos.rate đặt tham 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 có những thay đổi sau:

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

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

  • API hiện hỗ trợ phần contentOwnerDetails cho các 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 cả 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ờ mà chủ sở hữu nội dung và kênh được liên kết. Xin lưu ý rằng phần mới này không tuân theo chính sách ngừng cung cấp.

  • 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 Độ dài 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 đượ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 tham số này.

  • 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ể đặ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ể dùng chung với nhau.
    badRequest (400) channelTitleUpdateForbidden Phương thức channels.update sẽ trả về lỗi này nếu bạn cố gắng cập nhật phần brandingSettings của một 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ột 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 một độ lệch thời gian không hợp lệ.
    badRequest (400) tooManyPromotedItems Phương thức channels.update trả về lỗi này nếu phần invideoPromotion chỉ định nhiều hơn số lượng mặt hàng được quảng bá cho phép.
    forbidden (403) promotedVideoNotAllowed Phương thức channels.update trả về lỗi này nếu thuộc tính invideoPromotion.items[].id.videoId chỉ định một mã video không tìm thấy hoặc không thể dùng làm mặt hàng đượ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 nên hiển thị một mặt hàng đượ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 từng mặt hàng được quảng bá.
    required (400) requiredWebsiteUrl Phương thức channels.update phải chỉ định một thuộc tính invideoPromotion.items[].id.websiteUrl cho từng mặt hàng được quảng bá.
    badRequest (400) invalidPublishAt Phương thức videos.insert trả về lỗi này nếu siêu dữ liệu yêu cầu chỉ định thời gian xuất bản theo lịch không hợp lệ.

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

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

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

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

  • Tài liệu về 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 chính xác 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 0 tham số bộ lọc hoặc cho 1 tham số bộ lọc.

  • Định nghĩa về các tham số của phương thức search.list đã được cập nhật để lưu ý rằng bạn phải đặt giá trị của tham số type thành video nếu bạn cũng chỉ định một 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 tải lên đã giảm xuống còn 2048 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 kích thước thực tế của hình ảnh có thể là 2048px x 1152px. Trung tâm trợ giúp của YouTube cung cấp hướng dẫn bổ sung 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 về thuộc tính tài nguyên channel đã được cập nhật để phản ánh thông tin sau:

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

  • Phương thức channels.update hiện hỗ trợ các bản 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 cho chủ sở hữu nội dung bằng cách sử dụng tham số onBehalfOfContentOwner.

  • Các 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 Australian Classification Board (ACB) cho phim hoặc của Australian Communications and Media Authority (ACMA) cho chương trình truyền hình dành cho trẻ em.

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

  • Thuộc tính snippet.assignable mới của tài nguyên videoCategory cho biết liệu video đã cập nhật hoặc video mới tải lên có thể được liên kết 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 có những thay đổi sau:

  • API này có thêm 2 tính năng được thiết kế để giúp tìm và làm nổi bật nội dung phát sóng trực tiếp:

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

    • Thuộc tính snippet.liveBroadcastContent mới của tài nguyên video cho biết video có phải là một chương trình phát sóng 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à một chương trình phát sóng trực tiếp chưa bắt đầu.
      • active – Video là một chương trình phát sóng trực tiếp đang diễn ra.
      • none – Video không phải là một chương trình phát sóng 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 những chương trình phát sóng đã hoàn tất nhưng vẫn 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ề một sự kiện phát sóng video trực tiếp. Để truy xuất siêu dữ liệu này, hãy thêm 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 thêm 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 sóng trực tiếp đã được phát hành vào ngày 1 tháng 10 năm 2013 – tham số eventType của phương thức search.list và thuộc tính snippet.liveBroadcastContent của kết quả tìm kiếm.

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

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

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

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

    • 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 tên của chủ sở hữu nội dung có xuất hiện hay không khi hiển thị chương trình khuyến mãi. 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 có những thay đổi sau:

  • Đối tượng auditDetails mới của tài nguyên channel chứa dữ liệu kênh mà mạng đa kênh (MCN) sẽ đánh giá trong khi xác định xem có chấp nhận hay từ chối một kênh cụ thể hay không. 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 có 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 đó đều 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 2 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. Giá trị này cho biết rằng mặt hàng đượ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 sẽ 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 được 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 những hình ảnh biểu ngữ xuất hiện trên các trang kênh trong ứng dụng truyền hình.

  • Thuộc tính snippet.liveBroadcastContent mới trong kết quả tìm kiếm cho biết liệu một video hoặc tài nguyên kênh có nội dung phát sóng trực tiếp hay không. Các giá trị hợp lệ của thuộc tính 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 sóng trực tiếp chưa bắt đầu, trong khi giá trị active cho biết video là một chương trình phát sóng 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 có một chương trình phát sóng trực tiếp đang diễn ra.

  • Trong tài nguyên watermark, thuộc tính targetChannelId đã thay đổi từ một đối tượng thành một 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 chỉ định chính giá trị đó. Theo đó, 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 giới hạn phạm vi tìm kiếm để chỉ trả về các sự kiện phát sóng đang diễn ra, 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à video nhận được từ Bộ Di sản và 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 đánh giá đã tắt tính năng đánh giá cho video đó.

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

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

  • Tài nguyên watermark mới xác định một hình ảnh xuất hiện trong quá trình phát video của một kênh cụ thể. Bạn cũng có thể chỉ định 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 quá trình phát video và khoảng thời gian hình mờ hiển thị.

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

    Tài liệu về lỗi mô tả các thông báo lỗi mà API hỗ trợ, đặc biệt là đối với 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 liệu 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. Tham số này xác định vùng nội dung mà bạn nê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ị tham số là mã quốc gia gồm 2 chữ cái theo ISO 3166-1.

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

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    forbidden insufficientPermissions Các phạm vi liên kết với mã thông báo OAuth 2.0 được cung cấp cho yêu cầu là 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 có những 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 đây:

    • API này hiện hỗ trợ khả năng chỉ định một trang web làm mặt hàng được quảng bá. Để làm như vậy, hãy đặt giá trị thuộc tính invideoPromotion.items[].id.type thành website và dùng thuộc tính invideoPromotion.items[].id.websiteUrl mới để chỉ định URL. Bạn cũng có thể dùng thuộc tính invideoPromotion.items[].customMessage mới để xác định một thông báo tuỳ chỉnh sẽ xuất hiện cho chương trình khuyến mãi.

      Đường liên kết có thể dẫn đế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ề các trang web được liên kếttrang web của người bán để biết thêm thông tin về cách bật đườ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ủ các 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ặt hàng đượ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 đến invideoPromotion.items[].timing. Giờ đây, đối tượng này cho phép bạn tuỳ chỉnh dữ liệu về 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 này xác định thời điểm một mặt hàng được quảng bá sẽ xuất hiện trong quá trình phát một video trên kênh của bạn. Bạn có thể ghi đè thời gian mặc định cho bất kỳ mặt hàng đượ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 một trường durationMs chỉ định khoảng thời gian mặc định mà mặt hàng đượ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à phương thức này minh hoạ hiện do 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 đối với mọi phương thức API 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ể 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 của YouTube. Bạn nên xoá tham số mine, xác thực với tư cách là người dùng YouTube bằng cách xoá tham số onBehalfOfContentOwner hoặc đóng vai trò là một trong các kênh của đối tác bằng cách cung cấp tham số onBehalfOfContentOwnerChannel (nếu 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 có những thay đổi sau:

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

Bản cập nhật này có những 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 một 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 này hiện hỗ trợ khả năng chỉ định xem một lượt đăng ký là cho tất cả hoạt động của kênh hay chỉ cho 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ẽ nhận được thông báo. Các giá trị hợp lệ của thuộc tính là alluploads.

  • Phương thức videos.list hỗ trợ các tham số mới để truy xuất một biểu đồ gồm những 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, tức là bạn không thể 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, các bảng xếp hạng 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.

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

  • Đối tượng contentDetails.contentRating của tài nguyên video chỉ định các 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ợ một giá trị phân loại cho biết video chưa được phân loại. Xin lưu ý rằng đối với mức phân loại của MPAA, mức phân loại "chưa được 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ị của thuộc tính 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 thuộc tính này không có hoặc nếu giá trị thuộc tính này trống, thì nội dung chưa được xác định là bị 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.

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

  • Tài liệu về phương thức channels.update đã được cập nhật để phản ánh thực tế rằng 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 đó. Giờ đây, tài liệu cũng liệt kê danh sách thuộc tính mới 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 dành riêng cho một phương thức API cụ thể. Lỗi 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 được chỉ định.
    forbidden authenticatedUserAccountClosed 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ị đóng. Nếu người dùng đang hành động thay mặt cho một Tài khoản Google khác, thì lỗi này sẽ cho biết rằng tài khoản đó đã bị đóng.
    forbidden authenticatedUserAccountSuspended Lỗi này không dành riêng cho một phương thức API cụ thể. Thông báo 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 sẽ cho biết rằng tài khoản đó đã 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 xác định được 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 tìm cách cập nhật. Kiểm tra giá trị của thuộc tính id trong nội dung yêu cầu để đảm bảo rằng giá trị đó là chính xác.

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

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

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

  • 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 được 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 nhật ký hoạt động.

  • Tài nguyên danh sách phát hiện chứa thuộc tính snippet.tags. Thuộc tính này sẽ chỉ được trả về cho những người dùng được uỷ quyền đang truy xuất dữ liệu về danh sách phát của riêng 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 một lệnh gọi đến phương thức videos.insert, yêu cầu cũng phải chỉ định một 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.

    Tham số này cho biết thông tin đăng nhập uỷ quyền của yêu cầu xác định một người dùng Hệ thống quản lý nội dung (CMS) của YouTube đang thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị tham 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.

    Tham 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à truy cập vào tất cả dữ liệu về 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ể đối với bản phát hành này, tham số hiện cho phép đối tác nội dung chèn, cập nhật hoặc xoá video trong bất kỳ kênh YouTube nào mà đối tác sở hữu.

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

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

  • Hướng dẫn mới Làm việc với mã nhận dạng kênh giải thích cách API 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 trước của API và có các ứng dụng yêu cầu nội dung cho người dùng default hoặc dựa vào khái niệm rằng mọi kênh YouTube đều có một tên người dùng riêng biệt (điều này không còn đúng nữa).

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

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

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

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

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

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

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

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

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

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

  • Tài nguyên Channel hiện hỗ trợ đối tượng inVideoPromotion. Đối tượng này bao gồm thông tin về một chiến dịch quảng bá liên kết với kênh. Kênh có thể sử dụng chiến dịch quảng 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 khi video của kênh đang phát.

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

  • Bạn có thể dùng phương thức channels.update mới để cập nhật dữ liệu 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 phần invideoPromotion của tài nguyên channel và hiện chưa hỗ trợ cập nhật 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 có những thay đổi sau:

  • 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 một người dùng đã được 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 cho một số hành động, chẳng hạn như tải video lên.

  • Tài nguyên gói 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ý.

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

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

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

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

  • Khi 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, lưu ý rằng các tham số phân trang chỉ được hỗ trợ cho những yêu cầu sử dụng tham số myRating. (Các thông số và thông tin phân trang không được hỗ trợ cho những 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ả, còn 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. Đối tượng này chứa các thông tin chi tiết như tổng số kết quả và số lượng kết quả có trong 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 này 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 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 ánh 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 camera.

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

    • playlistItem – Thuộc tính này chỉ định tên của kênh đã thêm mục trong 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 mà người dùng đã đăng ký theo dõi.

  • Đã 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ể dùng tham 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. Tham số đó sẽ không được dùng nữa.

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

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

  • Chúng tôi đã cập nhật 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. Giờ đây, lỗi này được báo cáo là lỗi forbidden và lý do gây ra lỗi là playlistContainsMaximumNumberOfVideos.

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

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

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

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

  • Giờ đây, hình thu nhỏ đượ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ỏ tuỳ chỉnh của video 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ê những lỗi mà API có thể trả về để phản hồi một 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ù hiện tại tài liệu liệt kê tên của các kích thước hình thu nhỏ mà API có thể trả về.

  • Phần brandingSettings mới của tài nguyên channel xác định các 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 có các thuộc tính mới sau:

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

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

  • Tài liệu về phương thức playlistItems.update đã được cập nhật để phản ánh thực tế rằng bạn phải chỉ định thuộc tính snippet.resourceId 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ợ các chức năng sau:

    • Tham số forMine mới giới hạn phạm vi tìm kiếm chỉ lấy 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 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ó nên bao gồm nội dung bị hạn chế hay không.

  • Phương thức videos.insert hỗ trợ một số lỗi mới được liệt kê trong bảng 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ột 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 chỉ định thông tin ghi âm không hợp lệ.
    badRequest invalidVideoGameRating Siêu dữ liệu yêu cầu chỉ định một mức phân loại không hợp lệ cho trò chơi điện tử.
    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 có những thay đổi sau:

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

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

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

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

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

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

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

  • Một số phương thức API hỗ trợ các tham số mới dành riêng cho đối tác nội dung của YouTube. Đối tác nội dung của YouTube bao gồm các hãng phim và truyền hình, hãng thu âm 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.

    • Tham số onBehalfOfContentOwner cho biết thông tin 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ị tham 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.

      Tham 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à truy cập vào tất cả dữ liệu về 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 (được phương thức channels.list hỗ trợ) hướng dẫn API trả về tất cả các kênh thuộc sở hữu của chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định.

    • Tham số forContentOwner (được phương thức search.list hỗ trợ) hướng dẫn API chỉ đưa ra những kết quả tìm kiếm có chứa tài nguyên thuộc về chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định.

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

Bản cập nhật này có những 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
      • tình trạng có sẵn của hình thu nhỏ
      • đề 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ả những phần này. Danh sách dưới đây mô tả ngắn gọn các phần mới và tài liệu về tài nguyên video xác định tất cả các thuộc tính mà mỗi phần chứa.

      • Đối tượng fileDetails chứa thông tin về tệp video được tải lên YouTube, bao gồm độ 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 phát và nhiều thông tin khác của tệp.

      • Đố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 xác định trạng thái xử lý hiện tại và ước tính thời gian còn lại cho đến khi YouTube xử lý xong video. Phần này cũng cho biết liệu video có các loại dữ liệu hoặc nội dung khác nhau hay không, chẳng hạn như thông tin chi tiết về tệp hoặc hình thu nhỏ.

        Đố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 giúp xác định cơ hội cải thiện chất lượng video hoặc siêu dữ liệu cho video được tải lên.

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

      • dimension – Cho biết video có ở chế độ 2D hay 3D.
      • definition – Cho biết video có ở độ phân giải chuẩn hay độ phân giải cao hay không.
      • caption – Cho biết video có phụ đề hay không.
      • licensedContent – Cho biết liệu video có chứa nội dung đã được 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 2 thuộc tính mới. Chủ sở hữu video có thể đặt giá trị cho cả hai thuộc tính 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 được xác thực.

      • embeddable – Cho biết video có thể được nhúng 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 được thêm như mô tả ở trên cũng như phần recordingDetails (vô tình bị bỏ sót).

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

  • Giờ đây, mỗi đối tượng hình thu nhỏ đều 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.

  • Giờ đây, playlistItems.list hỗ trợ tham số videoId. Bạn có thể dùng tham số này cùng với tham số playlistId để chỉ truy xuất mục trong danh sách phát đại diện cho video được chỉ định.

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

  • Tài liệu về lỗi mô tả 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 có những thay đổi sau:

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

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

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

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

  • Giờ đây, activitytài nguyên có thể báo cáo channelItemhành động. 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. (Thuật toán của YouTube xác định những chủ đề có mức độ hiện diện đáng kể trên trang web YouTube và tự động tạo kênh cho những 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 nữa, tức là ....
    • Tham số relatedToVideo đã được đổi tên thành relatedToVideoId.
    • Tham số published đã được thay thế bằng 2 tham số mới là publishedAfterpublishedBefore. Các tham số này được mô tả ở bên dưới.

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

    Tên thông số Giá trị Mô tả
    channelId string Trả về các tài nguyên do kênh được chỉ định tạo ra.
    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 được liên kết với danh mục video được 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 một trình phát được nhúng trên trang web. Đặt giá trị tham số thành true để chỉ truy xuất những 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 những 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 chúng:

    Tài nguyên Tên tài sản Giá trị Mô tả
    activity contentDetails.playlistItem.playlistItemId string Mã nhận dạng mục trong danh sách phát mà YouTube đã chỉ định để nhận dạng riêng biệt mục đó trong danh sách phát.
    activity contentDetails.channelItem object Một đối tượng chứa thông tin về một tài nguyên đã được thêm vào kênh. Thuộc tính này chỉ xuất hiện nếu snippet.typechannelItem.
    activity contentDetails.channelItem.resourceId object 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. Nó cũng chứa chính xác 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 riêng tư của kênh.
    channel status.privacyStatus string Trạng thái 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ẽ 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 một 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 định vị đị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 Một đoạn 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 những thuộc tính phải được chỉ định trong nội dung yêu cầu hoặc được cập nhật dựa trên các giá trị trong 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
    Các 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 này sẽ không báo cáo lỗi playlistAlreadyExists nữa nếu bạn tìm cách tạo hoặc cập nhật một danh sách phát có cùng tiêu đề 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 tham 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 phép xoá mục cụ thể trong danh sách phát.
    videoCategories.list notFound videoCategoryNotFound Không tìm thấy danh mục video được xác định bằng tham số id. Sử dụng phương thức videoCategories.list để truy xuất danh sách các giá trị hợp lệ.