Nhật ký sửa đổi

Trang này liệt kê các thay đổi đối với API Dữ liệu YouTube (v3) và nội dung cập nhật trong tài liệu. Đăng ký theo dõi nhật ký thay đổi này. Đăng ký

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ó các thay đổi sau:

Ngừng sử dụng tham số sync cho các phương thức captions.insertcaptions.update. YouTube sẽ ngừng hỗ trợ thông số này kể từ ngày 12 tháng 4 năm 2024.

Do sự 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 phụ đề. Nếu không, quá trình tải lên sẽ không thành công.

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

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

Cập nhật tài liệu cho tài nguyên captions để lưu ý rằng độ dài tối đa cho phép đối với trường snippet.name là 150 ký tự. API sẽ trả về lỗi nameTooLong nếu tên kênh dài hơn giá trị đó.

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.

Ngừng sử dụng thuộc tính tài nguyên channel brandingSettings.channel.moderateComments. YouTube sẽ ngừng hỗ trợ thông số này kể từ ngày 7 tháng 3 năm 2024.

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

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

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

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

Mọi tham chiếu đến tài nguyên videoId trong Comments đã bị xoá vì tài nguyên videoId không được trả về 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 đã ngừng hoạt động trong vài năm. Phương thức này vốn đã không còn được hỗ trợ trên YouTube và không còn được hỗ trợ thông qua API.

Một thông báo về việc ngừng sử dụng đã được thêm 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 giú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 đã biểu thị là có nội dung được trả tiền để quảng cáo.

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

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

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

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

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

Phương thức thumbnails.set hiện hỗ trợ lỗi uploadRateLimitExceeded. Lỗi này cho biết rằng kênh đã tải quá nhiều hình thu nhỏ lên 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.

Ngừng sử dụng tham số relatedToVideoId của phương thức search.list. YouTube sẽ ngừng hỗ trợ thông số này kể từ ngày 7 tháng 8 năm 2023.

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

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ú giải kiểu cho các trường video.statistics thành chuỗi từ dài không dấu.

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

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

Từ nay đến ngày 1 tháng 12 năm 2022, phương thức captions.list, captions.update, captions.downloadcaptions.delete sẽ hỗ trợ cả mã phụ đề cũ và mới. Tuy nhiên, từ ngày 1 tháng 12 năm 2022, YouTube sẽ ngừng hỗ trợ các mã phụ đề cũ. 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ã phụ đề cũ sẽ dẫn đến lỗi captionNotFound.

Để chuẩn bị cho thay đổi này, bạn nên lên kế hoạch thay thế toàn bộ mọi dữ liệu phụ đề đã lưu trữ trong khoảng thời gian từ nay đến 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 đang 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 của API như bình thường.

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

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

Chúng tôi đã cập nhật nội dung mô tả phương thức videos.insert để 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

Các định nghĩa tham số myRecentSubscribersmySubscribers của phương thức subscriptions.list đều đã được cập nhật để lưu ý rằng số lượng người đăng ký tối đa mà API trả về có thể bị giới hạn. Thay đổi này đại diện cho sự đ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 về việc đặt số lượt không thích video ở chế độ riêng tư trên toàn bộ nền tảng YouTube, tài sản statistics.dislikeCount của tài nguyên video nay chuyển sang chế độ riêng tư.

Bạn có thể tìm hiểu thêm về 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 đặt số lượt không thích video ở chế độ riêng tư trên toàn bộ nền tảng YouTube, thuộc tính statistics.dislikeCount của tài nguyên video sẽ chuyển sang chế độ riêng tư kể từ ngày 13 tháng 12 năm 2021. Điều này có nghĩa là thuộc tính sẽ chỉ được đưa vào một phản hồi API từ điểm cuối videos.list nếu yêu cầu API đã được chủ sở hữu video xác thực.

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

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

Bạn có thể tìm hiểu thêm về 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ợ. Điểm cuối này có chức năng trùng lặp được cung cấp thông qua các điểm cuối API khác. Thay vào đó, bạn có thể gọi comments.update

và nếu mã của bạn yêu cầu tài nguyên commentThreads, hãy thực hiện lệnh gọi phụ tới 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 một đợt Kiểm tra mức độ tuân thủ của API để được cấp nhiều 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 tính tuân thủ lẫn yêu cầu phân bổ đơn vị hạn mức bổ sung đều được thực hiện bởi các nhà phát triển bằng cách điền và gửi Biểu mẫu kiểm tra và tăng hạn mức về Dịch vụ API YouTube.

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

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

Mỗi biểu mẫu mới sẽ cho chúng tôi biết mục đích sử dụng API của YouTube mà bạn dự định sử dụng, đồng thời giúp chúng tôi có thể 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ề quy trình kiểm tra mức độ tuân thủ API.

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

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

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

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

    Trước lần cập nhật này, API vẫn sẽ tạo danh sách phát mới nếu ứng dụng API cố gắng thêm video vào một danh sách phát yêu thích không tồn tại. Từ đó 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ề một lỗi. Chúng tôi cũng không ngừng cố gắng 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 theo thông báo trước đó và có thể bắt đầu báo lỗi bất cứ lúc nào.

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

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

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

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

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

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

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

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

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • Ngừng sử dụng thuộc tính snippet.tags[] của tài nguyên playlist. Tài sản này vốn đã không được hỗ trợ trên YouTube nên không còn được hỗ trợ thông qua API này nữa.

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ó các thay đổi sau:

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

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

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

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

Chúng tôi đã thêm hai 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 để thể hiện ý định phát. Bạn có thể giới hạn dữ liệu được chia sẻ với YouTube trước khi người dùng tương tác với trình phát bằng cách đặt tính năng Tự động phát thành false.
  • Mục III.E.4.j mới liên quan đến việc kiểm tra trạng thái Dành cho trẻ em (MFK) của nội dung trước khi nhúng nội dung đó trên 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 ứng dụng API là dành cho trẻ em và xử lý dữ liệu thu thập được từ trình phát được nhúng một cách 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 có tên Tìm trạng thái MadeForKids của một video giải thích cách tra cứu trạng thái dành cho trẻ em dành cho trẻ em của video bằng Dịch vụ API Dữ liệu của YouTube.

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

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

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

  • Đối tượng snippet.thumbnails giúp xác định hình thu nhỏ của kênh, có thể trống đối với các kênh mới tạo và có thể mất đến một ngày để điền dữ liệu.
  • Thuộc tính statistics.videoCount chỉ phản ánh số lượng video công khai của kênh, thậm chí là cho chủ sở hữu. Hành vi này nhất quán với số lượng video hiển thị trên trang web YouTube.
  • Từ khoá cho 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 có chứa dấu ngoặc kép không 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 tổng độ dài của tất cả từ khoá. Hành vi này nhất quán với hành vi trên trang web YouTube.

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

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

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

  • Các tài nguyên API, phương thức, tham số và thuộc tính tài nguyên sau đây sẽ ngừng hoạt động ngay lập tức và sẽ ngừng hoạt động kể từ ngày của thông báo này:
    • Các thuộc tính tài nguyên channel sau:
      • Thuộc tính statistics.commentCount
      • Đối tượng brandingSettings.image và tất cả các thuộc tính con của đối tượng đó
      • Danh sách brandingSettings.hints và tất cả các thuộc tính con của danh sách này
    • Thông số bộ lọc categoryId của phương thức channels.list
    • Tài nguyên guideCategories và phương thức guideCategories.list
  • Các phản hồi của API cho phương thức channels.list không còn chứa thuộc tính prevPageToken nếu yêu cầu API đặt tham số managedByMe thành true. Thay đổi này không ảnh hưởng đến thuộc tính prevPageToken đối với các yêu cầu channels.list khác và cũng không ảnh hưởng đến thuộc tính nextPageToken của bất kỳ yêu cầu nào.
  • Cả hai 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 từ ngày 11 tháng 8 năm 2016. Phương thức playlistItems.insert và phương thức playlistItems.delete hỗ trợ các danh sách phát này hiện cũng hoàn toàn ngừng hoạt động và 2 thuộc tính này cũng đã bị xoá khỏi tài liệu.
  • Tham số mySubscribers của phương thức channels.list (được thông báo là không 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 đó để truy xuất danh sách người đăng ký trên kênh của người dùng đã xác thực.
  • Chúng tôi đã xoá đối tượng invideoPromotion của tài nguyên channel và tất cả các thuộc tính con của tài nguyên đó (được thông báo là không dùng nữa vào ngày 27 tháng 11 năm 2017).

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

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

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

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

Mục nhật ký sửa đổi này ban đầu được xuất bản 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 qua điểm cuối videos.insert thuộc các dự án API chưa được xác minh và tạo sau ngày 28/7/2020 sẽ bị hạn chế ở chế độ xem riêng tư. Để gỡ bỏ quy định hạn chế này, mỗi dự án phải đang trải qua một 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 ứng dụng đã đượ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 chịu ảnh hưởng của sự thay đổi này. Tuy nhiên, tất cả nhà phát triển đều nên hoàn tất quy trình kiểm tra tính tuân thủ cho dự án của họ để đảm bảo có thể tiếp tục truy cập vào Dịch vụ API YouTube.

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

[Cập nhật vào ngày 28 tháng 7 năm 2020.] Bản cập nhật tài liệu được dẫn chiếu trong mục nhật ký sửa đổi này được phát hành 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 phí vào hạn mức. Tuy nhiên, do các trường hợp không lường trước, việc thay đổi hạn mức chưa có hiệu lực. Do đó, tài liệu này đã được huỷ bỏ để đảm bảo tính chính xác. Để tránh nhầm lẫn, mục nhật ký sửa đổi giải thích về thay đổi đã bị xoá và sẽ được xuất bản lại trong thời gian tới.

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

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

Hiện ngừng sử dụng các tham số autoLevelsstabilize của phương thức videos.insert và cả hai tham số đều đã bị xoá khỏi tài liệu. Các giá trị của chúng sẽ bị bỏ qua và không ảnh hưởng đến cách xử lý video mới tải lên.

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

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

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

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

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

Tính năng bản tin trên kênh hiện đã hoàn toàn ngừng hoạt động. Thay đổi này được thông báo ban đầ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ề các bản tin của kênh nữa. Để biết thêm thông tin, 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 sử dụng tính năng bản tin trên kênh. Do đó, phương thức activities.insert sẽ không được dùng nữa và phương thức activities.list sẽ ngừng trả về các bản tin trên 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, 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ó các 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 một kênh YouTube. Hội viên sẽ hỗ trợ bằng tiền định kỳ cho nhà sáng tạo và nhận được các lợi ích đặc biệt. Ví dụ: hội viên có thể trò chuyện khi nhà sáng tạo bật chế độ chỉ dành cho hội viên cho 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 nhận là một phần của API Phát trực tiếp trên YouTube. Tài nguyên sponsor hiện đã ngừng hoạt động và các ứng dụng API nên cập nhật các lệnh gọi tới phương thức sponsors.list để sử dụng phương thức members.list.

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

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

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

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

  • Thuộc tính selfDeclaredMadeForKids cho phép nhà sáng tạo nội dung chỉ định xem một kênh hay video là dành cho trẻ em.

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

    Xin lưu ý rằng tài sản này chỉ được đưa vào các phản hồi API chứa tài nguyên channel hoặc video nếu chủ sở hữu kênh đã cho phép yêu cầu API.
  • Thuộc tính madeForKids cho phép mọi người dùng truy xuất trạng thái "dành cho trẻ em" của kênh hoặc video. Ví dụ: trạng thái có thể được xác định dựa trên giá trị của thuộc tính selfDeclaredMadeForKids. Hãy truy cập vào Trung tâm trợ giúp của YouTube để tìm hiểu thêm thông tin về cách đặt đối tượng người xem cho kênh, video hoặc tin 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 API đã được cập nhật để phản ánh sự thay đổi đối với cách báo cáo số người đăng ký trên YouTube và do đó, trong 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 con số chính đối với số người đăng ký lớn hơn 1.000 người đăng ký. Thay đổi này ảnh hưởng đến thuộc tính statistics.subscriberCount của tài nguyên channel.

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

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

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

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

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

  • Tài liệu tham khảo API đã được cập nhật để giải thích rõ hơn về các trường hợp sử dụng phổ biến cho mỗi phương thức, đồng thời để cung cấp các mã mẫu động, chất lượng cao thông qua tiện ích APIs Explorer. Hãy xem tài liệu về 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 APIs Explorer cho phép bạn chọn phạm vi uỷ quyền, nhập tham số mẫu và giá trị thuộc tính, sau đó gửi các yêu cầu API thực tế và xem các phản hồi thực tế của API. Tiện ích này cũng cung cấp chế độ xem toàn màn hình, hiển thị các mã mẫu hoàn chỉnh và tự động cập nhật để sử dụng các phạm vi và giá trị mà bạn đã nhập.

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

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

  • Công cụ mã mẫu cũng đã được cập nhật với giao diện người dùng mới cung cấp tất cả các tính năng tương tự mô tả ở trên. Khi sử dụng công cụ này, 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 giá trị vào APIs Explorer và mở APIs Explorer toàn màn hình để nhận mã mẫu bằng Java, JavaScript, PHP và Python.

    Cùng với thay đổi này, những trang từng liệt kê 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 bắt đầu nhanh cho Java, JavaScript, PHPPython. Hướng dẫn đã sửa đổi sẽ giải thích cách chạy một mẫu với khoá API và một mẫu khác với ID ứng dụng khách OAuth 2.0 bằng cách sử dụng mã mẫu từ APIs Explorer.

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

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

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

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

    Bắt đầu từ tháng 7 năm 2018, URL hình thu nhỏ kênh sẽ chỉ hoạt động 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 các hình ảnh bị hỏng trong ứng dụng nếu ứng dụng cố tải hình ảnh YouTube từ miền http.

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

    Thuộc tính recordingDetails.location.altitude của tài nguyên video không còn được dùng nữa. Không có gì đảm bảo rằng video sẽ trả về các giá trị cho thuộc tính này. Tương tự, ngay cả khi các yêu cầu API cố gắng đặt giá trị cho thuộc tính đó, thì có khả năng 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 gọi là Hướng dẫn triển khai và di chuyển) đã được cập nhật để xoá hướng dẫn di chuyển từ API phiên bản 2 sang API phiên bản 3. Ngoài ra, chúng tôi cũng xoá hướng dẫn đối với những tính năng đã ngừng hoạt động trong API phiên bản 3 (chẳng hạn như video yêu thích).

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

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

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

    YouTube sẽ ngừng hỗ trợ các tính năng Video nổi bậtTrang web nổi bật. Những 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 tất cả các thuộc tính con của đối tượng đó, không được dùng nữa.

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

    • Việc cố gắng truy xuất phần invideoPromotion khi gọi channels.list sẽ trả về invideoPromotion trống hoặc hoàn toàn 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ề phản hồi thành công ít nhất cho đến ngày 27 tháng 5 năm 2018, nhưng sẽ bị coi là không hoạt động, tức là chúng sẽ không thực sự 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à 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ó các thay đổi sau:

  • Công cụ đoạn mã tương tác hiện hỗ trợ các mã mẫu Node.js. Các mẫu cũng xuất hiện trong tài liệu cho 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ế nhằm cung cấp cho bạn điểm bắt đầu theo trường hợp sử dụng cụ thể 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 Node.js. Tuy nhiên, mẫu chứa một số hàm hiệu dụng không xuất hiện trong phần bắt đầu nhanh:

    • Hàm removeEmptyParameters lấy danh sách cá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 danh sách 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 đó, công cụ này sẽ chuyển đổi các thuộc tính thành đối tượng JSON có thể dùng trong các thao tác insertupdate. Ví dụ bên dưới cho thấy một tập hợp các 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 được thiết kế để tải xuống và chạy trên máy. Để biết thêm thông tin, hãy xem các điều kiện tiên quyết để chạy mẫu mã đầ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ó các thay đổi sau:

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

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

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

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

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

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

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

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

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

  • Hiện đã có hướng dẫn bắt đầu nhanh mới về YouTube Data API cho iOS. Hướng dẫn này giải thích cách sử dụng API dữ liệu YouTube 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 API Dữ liệu YouTube 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ã mẫu đầy đủ
    • Sử dụng hàm nguyên mẫu
    • 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ó các thay đổi sau:

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

    Các thuộc tính tài nguyên video sau sẽ không được dùng nữa. Mặc dù các thuộc tính sẽ được hỗ trợ cho đến ngày 1 tháng 12 năm 2017, nhưng chúng tôi không đảm bảo rằng video sẽ tiếp tục trả về giá trị cho các thuộc tính đó cho đến thời điểm đó. Tương tự, những 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ó các thay đổi sau:

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

    Đối với một phương thức bất kỳ, công cụ sẽ hiển thị các đoạn mã cho một hoặc nhiều trường hợp sử dụng và mỗi trường hợp sử dụng 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ã mẫu:

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

    • Chuyển đổi giữa đoạn mã và mẫu đầy đủ. Một đ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 để cấp phép và gửi yêu cầu. Bạn có thể sao chép và chạy mẫu đầy đủ từ dòng lệnh hoặc máy chủ web cục bộ.

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

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

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

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

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

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

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

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

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

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

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

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

  • Các chủ đề sau đã được thêm làm chủ đề phụ của Society:
    Tênmã chủ đề
    Kinh doanh/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 sự thay đổi này, các chủ đề liên quan đến 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ó các thay đổi sau:

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

    • Danh mục Professional wrestling (trước đây là danh mục con của danh mục Sports) nay là danh mục con của Entertainment.
    • Danh mục TV shows (là phần tử 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). Bất kỳ video nào đượ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ó các thay đổi sau:

  • Như thông báo lần đầu vào ngày 11 tháng 8 năm 2016, việc ngừng sử dụng Freebase và API Freebase đòi hỏi một số thay đổi liên quan đến mã chủ đề. Mã chủ đề giúp xác định các chủ đề liên kết với tài nguyên channelvideo. Bạn cũng có thể dùng tham số tìm kiếm topicId để tìm 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 tập hợp nhỏ các ID chủ đề thay vì một tập hợp ID chi tiết hơn nhiều được trả về từ trước đến nay. Ngoài ra, xin lưu ý rằng chúng tôi không đảm bảo rằng kênh và video sẽ liên kết với bất kỳ chủ đề nào, vì điều này phù hợp với hành vi hiện tại của API.

    Để bạn có thể chuẩn bị Ứng dụng API cho những thay đổi đó, chúng tôi đã cập nhật định nghĩa của các tham số và thuộc tính API sau để liệt kê những mã chủ đề sẽ được hỗ trợ sau thời gian đó. Xin lưu ý rằng danh sách danh mục là giống nhau đối với 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 sẽ không được dùng nữa:

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

  • Do Freebase không còn được dùng nữa, hướng dẫn Tìm kiếm bằng các chủ đề Freebase đã bị xoá khỏi tài liệu. Hướng dẫn đó cung cấp các mã mẫu để cho biết cách ứng dụng sẽ hoạt động với API Freebase.

    Ngoài ra, một số mã mẫu liên quan đến mã nhận dạng chủ đề đã bị xoá khỏi tài liệu 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ó các thay đổi sau:

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

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

      • Thuộc tính player.embedHtml chứa thẻ <iframe> mà bạn có thể dùng để nhúng trình phát đang phát video. Thuộc tính player.embedHeightplayer.embedWidth mới xác định kích thước của trình phát được nhúng. Các thuộc tính này chỉ được trả về nếu yêu cầu API chỉ định giá trị cho ít nhất một trong các tham số maxHeight hoặc maxWidth. Hai thông số mới này sẽ được giải thích 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 đã cung cấp hình thu nhỏ tuỳ chỉnh cho video hay chưa. Xin lưu ý rằng chỉ người tải video lên mới xem được tài sản này.

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

      • mcstRating mới xác định mức phân loại của video đó ở 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 trong hai tham số hoặc cả hai tham số khi truy xuất phần player trong tài nguyên video.

      Theo mặc định, chiều cao của <iframe> được trả về trong thuộc tính player.embedHtml là 360 px. Chiều rộng điều chỉnh cho phù hợp với tỷ lệ khung hình của video, do đó đảm bảo rằng trình phát được nhúng không có các thanh màu đen tạo khung hình cho 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 thông số mới, bạn có thể chỉ định rằng thay vì kích thước mặc định, mã nhúng phải sử dụng chiều cao và/hoặc chiều rộng thích hợp với bố cục ứng dụng của bạn. Máy chủ API điều chỉnh kích thước của trình phát theo tỷ lệ phù hợp để đảm bảo rằng trình phát được nhúng không có các thanh màu đen tạo khung hình cho video. Xin lưu ý rằng cả hai tham số đều chỉ định kích thước tối đa của trình phát được nhúng. Do đó, nếu cả hai thông số được chỉ định, một thứ nguyên có thể vẫn nhỏ hơn số lượng tối đa được phép cho thứ nguyên đó.

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

      • Nếu tham số maxHeight được đặt thành 720 và tham số maxWidth không được đặt, thì API sẽ trả về trình phát có kích thước 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 có kích thước 960x540.
      • Nếu tham số maxWidth được đặt thành 960 và tham số maxHeight được đặt thành 450, thì API sẽ trả về trình phát có kích thước 800x450.

      Thuộc tính player.embedHeightplayer.embedWidth mới được mô tả ở trên sẽ xác định kích thước của người chơi.

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

    • Chúng tôi đã cập nhật phần mô tả tài nguyên channelSection để lưu ý rằng một kênh có thể tạo tối đa 10 kệ mà không cần đặ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 thực tế là bạn chỉ có thể đặt tiêu chí nhắm mục tiêu bằng API. Tuỳ chọn nhắm mục tiêu 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 biểu thị tên của một ngôn ngữ vì giá trị này được viết bằng ngôn ngữ được chỉ định theo tham số hl của phương thức i18nLanguage.list.

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

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

    • Phương thức playlistItems.deleteplaylistItems.update hiện hỗ trợ tham số onBehalfOfContentOwner. Tham số này đã được hỗ trợ trong 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 cấp phép bằng một mã thông báo cung cấp quyền truy cập vào phạm vi https://www.googleapis.com/auth/youtubepartner.

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

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

    • Chúng tôi đã cập nhật nội dung mô tả phương thức videos.insert để 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 Chi tiết lỗi Nội dung 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 trái phép.
      invalidValue (400) invalidContentDetails Phương thức playlistItems.insert trả về lỗi này để cho biết đối tượng contentDetails trong yêu cầu là không hợp lệ. 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ố 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ố truy xuất các mục trong danh sách phát "xem sau", nhưng các mục đó không truy xuất được bằng API.
      badRequest (400) uploadLimitExceeded Phương thức videos.insert trả về lỗi này để cho biết rằng kênh đã vượt quá số lượng video 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 một chế độ cài đặt nhúng không hợp lệ cho video. Xin lưu ý rằng một số kênh có thể không có quyền cung cấp trình phát được nhúng cho sự kiện phát trực tiếp. Hãy truy cập vào Trung tâm trợ giúp của YouTube để biết thêm thông tin.
    • Phương thức playlistItems.insert không còn trả về lỗi nếu bạn chèn một video trùng lặp vào danh sách phát. Lỗi này trước đây xảy ra đối với một số danh sách phát, chẳng hạn như video yêu thích, không cho phép trùng lặp nhưng không còn được hỗ trợ. Nhìn chung, danh sách phát cho phép tạo video trùng lặp.

  • Các nội dung 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 thuộc tính contentDetails.relatedPlaylists.watchHistorycontentDetails.relatedPlaylists.watchLater của tài nguyên channel được đưa vào phản hồi thì chúng luôn chứa giá trị HLWL tương ứng. Hơn nữa, các thuộc tính đó chỉ được đưa vào nếu người dùng được uỷ quyền đang truy xuất dữ liệu về kênh riêng của người dùng đó.

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

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

  • Bản cập nhật nhật ký sửa đổi vào ngày 11 tháng 8 năm 2016 đã thảo luận một số thay đổi liên quan đến mã chủ đề, bao gồm cả việc bộ mã chủ đề được hỗ trợ sẽ thay đổi kể từ ngày 10 tháng 2 năm 2017. Danh sách các chủ đề được hỗ trợ sẽ được xuất bản chậm 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 lịch sử sửa đổi vào ngày 11 tháng 8 năm 2016:

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

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

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

      Để cho rõ ràng, những tài sản 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 riêng của người dùng đó. Do đó, bạn không thể truy xuất mã nhật ký xem và mã 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 danh sách phát xem sau của kênh giờ đây sẽ trả về danh sách trống. Hành vi này đúng với các giá trị mới, HLWL, cũng như đối với mọi mã danh sách phát xem sau hoặc danh sách phát xem sau 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 tài nguyên đó không còn được trả về. Trước đây, chỉ chủ sở hữu video mới có thể truy xuất dữ liệu này (như đối tượng mẹ fileDetails).

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

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

  • Điều khoản dịch vụ của Dịch vụ API YouTube ("Điều khoản cập nhật"), được thảo luận chi tiết trên Blog kỹ thuật và nhà phát triển của YouTube, cung cấp nhiều nội dung cập nhật đối với Điều khoản dịch vụ hiện tại. Ngoài Điều khoản đã cập nhật có hiệu lực kể 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ợ nhằm giải thích những chính sách mà nhà phát triển phải tuân thủ.

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

  • Việc ngừng sử dụng Freebase và API Freebase đang gây ra một số thay đổi liên quan đến mã chủ đề. Mã nhận dạng chủ đề được sử 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 kết với video.
    • Tham số topicId của phương thức search.list giúp bạn tìm kiếm các video hoặc kênh liên quan đến một chủ đề cụ thể.

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

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

    • Bạn có thể sử dụng mọi mã chủ đề Freebase mà bạn đã truy xuất để tìm kiếm nội dung cho đến hết ngày 10 tháng 2 năm 2017. Tuy nhiên, sau khoảng thời gian đó, bạn sẽ chỉ có thể sử dụng một nhóm nhỏ các chủ đề đã 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 mã chủ đề không nằm trong tập hợp nhỏ hơn các mã chủ đề được hỗ trợ, API sẽ trả về một tập hợp kết quả trống.

  • Kể từ ngày 12 tháng 9 năm 2016, một số trường và thông số API sẽ bị ngừng sử dụng:

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

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

      Các yêu cầu truy xuất thông tin chi tiết về danh sách phát (playlists.list) cho danh sách phát xem sau hoặc danh sách phát xem sau của 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) thuộc 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 đúng với các giá trị mới, HLWL, cũng như mọi mã danh sách phát video đã xem hoặc danh sách phát xem sau mà Ứng dụng API của bạn có thể đã lưu trữ.

    • Sau ngày 12 tháng 9 năm 2016, đối tượng fileDetails.recordingLocation của tài nguyên video hoặc bất kỳ thuộc tính con nào của tài nguyên đó đều sẽ không còn được trả về. 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 mẹ fileDetails.

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

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

  • Thuộc tính contentDetails.googlePlusUserId của tài nguyên channel không còn được dùng nữa. Trước đây, thuộc tính chỉ xuất hiện nếu kênh được liên kết với 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 được đưa vào 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òn được dùng nữa. Trước đây, thuộc tính chỉ xuất hiện nếu kênh được liên kết với 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 được đưa vào bất kỳ tài nguyên comment nào.

Vì cả hai thuộc tính này sẽ không được trả về sau khi ngừng 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ó các thay đổi sau:

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

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

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

    • Hình ảnh standard rộng 640px và cao 480px.
    • Hình ảnh maxres rộng 1280px và 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.

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

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

Công cụ Đoạn mã API dữ liệu 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. Hiện tại, bạn có thể sử dụng đoạn mã 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ụ sẽ hiển thị mã mẫu cho một hoặc nhiều trường hợp sử dụng. Ví dụ: cung cấp 5 đoạn mã cho phương thức search.list:

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

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

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

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

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

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

  • Cả 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:

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

  • Định nghĩa 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 này 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 tìm nạp được. Lý do là chức năng video yêu thích đã không còn được dùng nữa. Xin lưu ý rằng thuộc tính này không phải tuân thủ chính sách về việc ngừng sử dụng API.

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

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

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

  • Chúng tôi đã cập nhật định nghĩa cho tham số part của phương thức channels.update để 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 với Google Developer Console, nơi bạn có thể xem hạn mức và mức sử dụng hạn mức thực tế của mình.

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

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

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

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

    • Thuộc tính snippet.customUrl mới của tài nguyên channel xác định URL tùy chỉnh 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 URL tuỳ chỉnh cũng như cách thiết lập URL đó.

    • Ngừng sử dụng đố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 tài nguyên đó.

    • Phản hồi của API cho một yêu cầu search.list hiện chứa thuộc tính regionCode. Cơ sở lưu trú xác định mã vùng được dùng cho cụm từ tìm kiếm. Mã vùng hướng dẫn API trả về kết quả tìm kiếm cho quốc gia đượ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 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 có thể vẫn chọn một khu vực khác thay vì chọn giá trị mặc định để xử lý truy vấn.

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

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

    • Thuộc tính contentDetails.contentRating.ecbmctRating mới của tài nguyên video xác định mức phân loại của một 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 xếp hạng khác có hỗ trợ các giá trị thuộc tính mới sau đây:

      • contentDetails.contentRating.fpbRating (Nam Phi)
        Điểm xếp hạng: 10; giá trị cơ sở lưu trú: fpb10
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Điểm xếp hạng: R-12; giá trị cơ sở lưu trú: moctwR12
      • contentDetails.contentRating.moctwRating (Đài Loan)
        Điểm xếp hạng: R-15; giá trị cơ sở lưu trú: moctwR15
    • Tài sản liveStreamingDetails.activeLiveChatId của tài nguyên video chứa mã của cuộc trò chuyện trực tiếp đang diễn ra liên kết với video. Giá trị thuộc tính chỉ xuất hiện nếu video đó đang là sự kiện phát sóng trực tiếp đã 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 kết thúc, tài sản đó sẽ không còn được trả lại 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 Chi tiết lỗi Nội dung mô tả
    badRequest (400) notEditable Phương thức channelSections.insert, channelSections.updatechannelSections.delete trả về lỗi này để cho biết rằng không thể tạo, cập nhật hoặc xoá phần kênh đã chỉ định.
    badRequest (400) styleRequired Phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định một giá trị cho thuộc tính snippet.style.
    badRequest (400) typeRequired Phương thức channelSections.insertchannelSections.update trả về lỗi này để cho biết rằng tài nguyên channelSection được gửi trong yêu cầu API phải chỉ định một giá trị cho thuộc tính snippet.type.
    badRequest (400) processingFailure Phương thức commentThreads.list trả về lỗi này để cho biết rằng máy chủ API không thể xử lý yêu cầu thành công. Mặc dù đây có thể là lỗi tạm thời, nhưng lỗi này thường cho biết rằng thông tin đầ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 tài nguyên đó hợp lệ.
    forbidden (403) commentsDisabled Phương thức commentThreads.list trả về lỗi này để cho biết rằng video bằng thông số videoId xác định được đã 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 rằng tài nguyên comment đang được chèn chứa quá nhiều ký tự trong thuộc tính snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist Phương thức playlistItems.insert trả về lỗi này để cho biết rằng video 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. 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 theo bộ.
    badRequest (400) subscriptionForbidden Phương thức subscriptions.insert trả về lỗi này để cho biết rằng bạn đã đạt đến số lượng gói thuê bao tối đa hoặc bạn đã tạo quá nhiều gói thuê bao gần đây. Trong trường hợp thứ hai, bạn có thể thử lại yêu cầu sau vài giờ.
    badRequest (400) invalidCategoryId Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.categoryId trong tài nguyên video đã tải lên đã chỉ định mộ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 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 được chỉ định thông tin ghi không hợp lệ.
    badRequest (400) invalidTags Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.tags trong tài nguyên video đã tải lên đã chỉ định một giá trị không hợp lệ.
    badRequest (400) invalidTitle Phương thức videos.update trả về lỗi này để cho biết rằng thuộc tính snippet.title trong tài nguyên video đã tải lên đã chỉ định một tiêu đề video không hợp lệ hoặc trống.
    badRequest (400) invalidVideoMetadata Phương thức videos.update trả về lỗi này để cho biết siêu dữ liệu của yêu cầu không hợp lệ. Lỗi này xảy ra nếu yêu cầu cập nhật phần snippet của tài nguyên video nhưng không đặt giá trị cho cả thuộc tính snippet.titlesnippet.categoryId.

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

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

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

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

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

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

    • Hãy đảm bảo 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ữ cho các thuộc tính snippet.titlesnippet.description của tài nguyên. Giá trị của nó 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 bạn đăng tải một video có tiêu đề và nội dung mô tả bằng tiếng Anh, 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: Để thiết lập 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 một ngôn ngữ ứng dụng hoặc mã ngôn ngữ ISO 639-1:2002 và mỗi khoá ánh xạ tới một đối tượng chứa tiêu đề (và mô tả) đã bản địa hoá cho tài nguyên.

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

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

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

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

    • Thêm tham số hl vào yêu cầu channels.list, channelSections.list, playlists.list hoặc videos.list để truy xuất dữ liệu đã bản địa hoá cho 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 đã 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ị đã bản địa hoá. Tuy nhiên, nếu không có thông tin chi tiết đã bản địa hoá, thì đối tượng snippet.localized sẽ chứa thông tin về tài nguyên bằng ngôn ngữ mặc định của tài nguyên.

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

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

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

      Quan trọng: Tham số hl chỉ hỗ trợ các giá trị xác định ngôn ngữ ứng dụng mà trang web YouTube hỗ trợ. Để xác định xem văn bản đã bản địa hoá có hỗ trợ các ngôn ngữ khác hay không, bạn cần truy xuất phần localizations cho tài nguyên và bộ lọc để xác định xem 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 nội dung bản địa hoá để xác định xem có văn bản đã bản địa hoá bằng tiếng Anh Appalachia hay không.

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

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

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

    Loại lỗi Chi tiết lỗi Nội dung mô tả
    badRequest (400) defaultLanguageNotSetError Lỗi này cho biết không thể yêu cầu chèn hoặc cập nhật đối tượng localizations cho một tài nguyên vì thuộc tính snippet.defaultLanguage chưa được thiết lập 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 rằng 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ó các thay đổi sau:

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

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

    • Cập nhật tham số relatedToVideoId của phương thức search.list để lưu ý rằng nếu tham số này được đặt, thì các tham số duy nhất được hỗ trợ 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 thay đổi về hành vi của API.

    • Chúng tôi đã cập nhật định nghĩa về thuộc tính snippet.publishedAt của tài nguyên video để lưu ý rằng giá trị thuộc tính, chỉ định ngày và giờ xuất bản video, có thể khác với thời điểm video được tải lên. Ví dụ: Nếu một video đã được tải lên dưới dạng video 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ập nhật cũng giải thích cách hệ thống điền giá trị này cho các video riêng tư và không công khai.

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

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

      • Nếu đặt giá trị của thuộc tính này khi gọi phương thức videos.update, bạn cũng phải đặt giá trị thuộc tính status.privacyStatus thành private ngay cả khi video đã ở chế độ riêng tư.
      • Nếu yêu cầu lên lịch xuất bản video vào một thời điểm nào đó 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ứ cũng giống như việc thay đổi privacyStatus của video từ private thành public.
    • Thuộc tính contentDetails.contentRating.cncRating của tài nguyên video chỉ định mức phân loại của video theo Ủy 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 còn 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 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ư đã ghi lại trước đây. Bản cập nhật này không phản ánh thay đổi về hành vi của API.

    • Chúng tôi đã cập nhật tài liệu cho phương thức thumbnails.set để phản ánh chính xác rằng phần nội dung của yêu cầu chứa hình thu nhỏ mà bạn đang tải lên và liên kết với một video. Nội dung yêu cầu không chứa tài nguyên thumbnail. Trước đây, tài liệu này nói rằng 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 thay đổi về hành vi của API.

    • Nội dung mô tả về tài nguyên activity đã được cập nhật để phản ánh thực tế là phương thức activities.list hiện không bao gồm các tài nguyên liên quan đến nhận xét mới của 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
      Nội dung mô tảTài sản kind không khớp với loại giấy tờ tuỳ thân được cung cấp.
      commentThreads.update
      comments.insert
      comments.update
      Mã phản hồi HTTPbadRequest (400)
      Lý docommentTextTooLong
      Nội dung 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
      Nội dung mô tảYêu cầu không được uỷ quyền thích hợp để chèn, cập nhật hoặc xoá mục danh sách phát đã chỉ định.
      playlists.delete
      playlists.insert
      playlists.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doplaylistForbidden
      Nội dung mô tảThao tác này bị cấm hoặc yêu cầu không được uỷ quyền hợp lệ.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidLocation
      Nội dung mô tảGiá trị tham số location và/hoặc locationRadius được định dạng không chính xác.
      search.list
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidRelevanceLanguage
      Nội dung mô tảGiá trị tham số relevanceLanguage được định dạng không chính xác.
      subscriptions.insert
      Mã phản hồi HTTPbadRequest (400)
      Lý dosubscriptionForbidden
      Nội dung mô tảLỗi này xảy ra khi bất kỳ trường hợp nào sau đây xảy ra:
      • 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ý kênh của chính mình và kênh này không được hỗ trợ.
      • Gần đây, bạn đã tạo quá nhiều gói thuê bao nên cần đợi một vài giờ rồi mới thử yêu cầu lại.
      videos.update
      Mã phản hồi HTTPbadRequest (400)
      Lý doinvalidDefaultBroadcastPrivacySetting
      Nội dung mô tảYêu cầu tìm cách đặ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ó các thay đổi sau:

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

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

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

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

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

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

    • Định nghĩa 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 độ dài giá trị của thuộc tính. Lưu ý rằng bản cập nhật này không phản ánh thay đổi về hành vi của API.

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

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

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

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

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

    • Tham số order mới của phương thức commentThreads.list chỉ định thứ tự mà phản hồi API phải liệt kê các chuỗi nhận xét. Bạn có thể sắp xếp luồng theo thời gian hoặc mức độ liên quan. Hành vi mặc định là sắp xếp sản phẩm theo thời gian.

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

    • Định nghĩa về tài sản contentDetails.licensedContent của tài nguyên video đã được cập nhật để làm rõ rằng ban đầu, nội dung này phải được tải lên một kênh liên kết với một đối tác nội dung của YouTube, sau đó được đối tác đó xác nhận quyền sở hữu. Điều này không thể hiện sự thay đổi về 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ợ trong 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 cấp phép bằng một mã thông báo cung 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
      Nội dung mô tảNgười dùng phải xác minh địa chỉ email của họ trước khi xếp hạng video.
      videos.rate
      Mã phản hồi HTTPbadRequest (400)
      Lý dovideoPurchaseRequired
      Nội dung mô tảChỉ người dùng đã thuê video mới có thể xếp hạng video cho thuê.
    • Phương thức subscriptions.deletesubscriptions.insert không còn hỗ trợ lỗi accountClosedaccountSuspended.

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

Bản cập nhật này có các 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 sẽ bị gắn cờ vì chứa nội dung vi phạm. Phương thức videoAbuseReportReasons.list cho phép bạn truy xuất danh sách tất cả lý do có thể khiến video 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 vi phạm. Phần nội dung của yêu cầu có chứa đối tượng JSON chỉ định video bị gắn cờ cũng như lý do video đó bị coi là có chứa nội dung vi phạm. Bạn có thể lấy các lý do hợp lệ từ phương thức videoAbuseReportReason.list được mô tả ở trên.

      Chúng tôi cũng đã cập nhật hướng dẫn di chuyển để bổ sung một ví dụ về cách báo cáo video vi phạm. Với thay đổi này, API v3 hiện hỗ trợ tất cả tính năng API v2 được lên lịch 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 hạn chế việc tìm kiếm để chỉ truy xuất những video được tải lên 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 đã tải lên được tự động gắn thẻ với số dự án được liên kết với ứng dụng của nhà phát triển trong Google Developers Console.

      Sau đó, khi một yêu cầu tìm kiếm đặt tham số forDeveloper thành true, máy chủ API sẽ sử dụng thông tin 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ỉ những video được tải lên qua ứng dụng hoặc trang web của chính nhà phát triển chứ không phải những video được tải lên qua ứ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 của thẻ nhà phát triển mà API phiên bản 2 hỗ trợ.

    • Tài sản 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 phải cập nhật thuộc tính brandingSettings.channel.country.

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

      API này đưa ra 3 tuỳ 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 tiêu chí nhắm mục tiêu thì phần kênh mới xuất hiện.

    • Đị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ị này có thể phản ánh giờ, ngày, v.v.

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

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

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

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

    Hướng dẫn này cũng nêu ra một số tính năng nhận xét mà API v2 không hỗ trợ nhưng được hỗ trợ trong API v3. Những quốc gia/khu vực này bao gồm:

    • Truy xuất bình luận về kênh
    • Truy xuất tất cả các chuỗi bình luận liên quan đến một kênh, tức là phản hồi của API có thể chứa bình luận về kênh hoặc video trên kênh đó.
    • Cập nhật nội dung của nhận xét
    • Đánh dấu bình luận là vi phạm
    • Thiết lập trạng thái kiểm duyệt cho 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 gửi đến trung tâm Google PubSubHubBub chứ không phải đến trung tâm Superfeedr như đã nêu trước đó.

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

Bản cập nhật này có các 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 nhận xét.

    • 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 phản hồi (nếu có) cho bình luận đó. Tài nguyên commentThread có thể đại diện cho các bình luận về một video hoặc một kênh.

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

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

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

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

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

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

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

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

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

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

    Loại lỗi Chi tiết lỗi Nội dung 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 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. Lỗi này trước đó cho biết rằng người đăng ký được xác định với yêu cầu đã vượt quá giới hạn số lượng gói thuê bao.

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

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

  • Tài nguyên captions mới đại diện cho một phụ đề trên YouTube. Phụ đề được liên kết với đúng một video trên YouTube.

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

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

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

    Phạm vi mới này sẽ 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 đó có chức năng giống hệt nhau vì máy chủ API YouTube chỉ hoạt động 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 sự không có cách nào khác để tạo yêu cầu API.

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

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

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

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

  • Chúng tôi đã cập nhật hướng dẫn di chuyển API dữ liệu YouTube (v3) để lưu ý rằng API v3 sẽ hỗ trợ tính năng API v2 sau đây:

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

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

      Trong phản hồi API, một tài nguyên sẽ tương ứng với một video đề xuất nếu giá trị của thuộc tính snippet.typerecommendation. Trong trường hợp đó, 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 không có gì đảm bảo rằng câu trả lời sẽ chứa bất kỳ số lượng video đề xuất cụ thể nào.

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

    • Truy xuất video mới từ gói thuê bao – API v3 không truy xuất danh sách chỉ chứa những video được tải lên các kênh mà người dùng API đăng ký trong thời gian gần đây. Tuy nhiên, bạn có thể sử dụng API v3 để tìm video mới về gói thuê bao 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 sẽ tương ứng với một video mới của gói thuê bao nếu giá trị của thuộc tính snippet.typeupload. Lưu ý rằng không có gì đảm bảo rằng phản hồi sẽ chứa bất kỳ số lượng cụ thể video đăng ký mới nào.

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

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

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

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

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

      API v3 sẽ cung cấp một tính năng tương tự nhưng không giống hệt nhau. Cụ thể, nhà phát triển sẽ có thể tìm kiếm các 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 đã tải lên được tự động gắn thẻ với số dự án được liên kết với ứng dụng của nhà phát triển trong Google Developers Console. Sau đó, nhà phát triển sử dụng chính số dự án đó để tìm kiếm video.

    • Liệt kê video theo ngày 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 các video trong 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 được tự động thêm làm mục đầu tiên (snippet.position=0) cho các loại danh sách phát sau. Vì vậy, mỗi danh sách này được sắp xếp một cách hiệu quả theo thứ tự từ mới nhất đến cũ nhất dựa trên thời gian mà các mục được thêm vào danh sách.

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

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

    • Xử lý hàng loạt – API v3 hỗ trợ một trong các trường hợp sử dụng xử lý hàng loạt mà API v2 đã 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 v3 API v3 đề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ã video, mã nhận dạng kênh, v.v.). Bằng cách sử dụng các phương thức đó, bạn có thể truy xuất danh sách nhiều tài nguyên bằng một yêu cầu duy nhất.

    Với những thay đổi này, hướng dẫn hiện xác định tất cả chức năng được hỗ trợ trong API cũ (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ó các thay đổi sau:

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

  • Các thuộc tính sau và các thuộc tính con của các thuộc tính đó đã ngừng hoạt động:

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

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

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

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

    Loại lỗi Chi tiết lỗi Nội dung mô tả
    notFound (404) channelNotFound Phương thức channels.update trả về lỗi này nếu tham số id của yêu cầu chỉ định một kênh không tìm thấy.
    badRequest (400) manualSortRequiredinvalidValue Phương thức playlistItems.insertplaylistItems.update trả về lỗi này nếu yêu cầu cố gắng đặt vị trí của mục trong danh sách phát nhưng danh sách phát không sử dụng chế độ 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ể trong danh sách thì trước tiên, bạn cần cập nhật chế độ cài đặt sắp xếp của danh sách phát thành Thủ công. Bạn có thể điều chỉnh cài đặt này trong Trình quản lý video trên YouTube.
    forbidden (403) channelClosed 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ị đó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 trả về lỗi này nếu tham số id của yêu cầu không hỗ trợ yêu cầu hoặc yêu cầu không được uỷ quyền đúng cách.
    notFound (404) channelNotFound Phương thức playlists.list trả về lỗi này nếu tham số channelId của yêu cầu chỉ định một kênh không 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 trả về lỗi này nếu yêu cầu chứa 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ó các thay đổi sau:

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

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

  • Hướng dẫn di chuyển API dữ liệu YouTube (v3) đã được cập nhật để giải thích cách sử dụng API v3 để 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 thay đổi thực tế về API mà phản ánh sự có sẵn của mã mẫu mới để tải video lên bằng JavaScript phía máy khách.

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

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

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

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

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

      Gọi phương thức search.list rồi tìm GoogleDevelopers.

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

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

      Sau đó, hãy gọi phương thức playlistItems.list và đặt tham số playlistId thành mã nhận dạng đã thu thậ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ó các thay đổi sau:

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

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

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

      Xem định nghĩa thuộc tính để biết thêm thông tin về các giá trị này. Trung tâm trợ giúp của YouTube cũng cung cấp thô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 tính năng "thời gian thông minh" hay không. Tính năng này cố gắng hiển thị quảng cáo tại một thời điểm trong video khi người xem có nhiều khả năng sẽ nhấp vào quảng cáo hơn và ít có khả năng làm gián đoạn trải nghiệm xem hơn. Tính năng này cũng chọn một quảng cáo để hiển thị trên mỗi video.

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

    Nếu bạn cố 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 giúp xác định mức phân loại của video theo Văn phòng phân loại phim và văn học của New Zealand, nay hỗ trợ hai mức phân loại mới là oflcRp13oflcRp16. Các điểm xếp hạng này tương ứng với điểm xếp hạng RP13RP16.

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

    Loại lỗi Chi tiết lỗi Nội dung 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 http://photos.google.com, chuyển đến trang album và xoá một số ảnh khỏi hình ảnh trong album đó.

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

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

  • Chi phí hạn mức cho một lệnh gọi đến phương thức search.list đã thay đổi từ 1 đơn vị thành 2 đơn vị cùng vớ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ó các thay đổi sau:

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

    Loại lỗi Chi tiết lỗi Nội dung mô tả
    badRequest subscriptionLimitExceeded Người đăng ký được xác định là có yêu cầu đã vượt quá giới hạn số lượng gói thuê bao. Họ 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ó các thay đổi sau:

  • Một hướng dẫn mới có tiêu đề Di chuyển ứng dụng của bạn sang API dữ liệu YouTube (v3) giải thích cách sử dụng API dữ liệu YouTube (v3) để thực hiện chức năng có trong API dữ liệu YouTube (v2). API cũ đã chính thức không được dùng nữa kể từ ngày 4 tháng 3 năm 2014. Hướng dẫn này nhằm giúp bạn di chuyển các ứng dụng vẫn sử dụng API v2 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ó các thay đổi sau:

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

    Loại lỗi Chi tiết lỗi Nội dung 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 cho phép.

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

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

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

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

  • Tài nguyên video hiện hỗ trợ 43 hệ thống phân loại nội dung mới, xác định mức phân loại mà video nhận được từ nhiều cơ quan phân loại quốc gia. Các hệ thống phân loại mới được hỗ trợ là

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

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

  • Phương thức search.list hiện hỗ trợ các tham số locationlocationRadius, cho phép bạn tìm kiếm video đượ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ại 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 mà vị trí liên kết với một video có thể tính từ tâm khu vực để video vẫn được đưa vào 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ó các thay đổi sau:

  • Chúng tôi đã cập nhật thuộc tính invideoPromotion.items[] của tài nguyên channel để lưu ý rằng bạn thường chỉ có thể đặt một mặ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á, thì API sẽ trả về lỗi tooManyPromotedItems, trong đó có mã trạng thái HTTP 400.

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

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

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

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

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

  • Chúng tôi đã cập nhật định nghĩa về thuộc tính pageInfo.totalResults được trả về trong phản hồi API cho lệnh gọi search.list để lưu ý rằng giá trị này là giá trị gần đúng và có thể không đại diện cho một giá trị chính xác. Ngoài ra, giá trị tối đa là 1.000.000. Bạn không nên sử dụng giá trị này để tạo đườ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.

  • 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 đến các phương thức đó.

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

Bản cập nhật này có các 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ũng có thể được gọi là ngôn ngữ giao diện người dùng. Đối với trang web YouTube, ngôn ngữ ứng dụng có thể được chọn tự động dựa trên chế độ cài đặt Tài khoản Google, ngôn ngữ trình duyệt hoặc vị trí IP. Người dùng cũng có thể tự chọn ngôn ngữ giao diện người dùng mong muốn ở chân trang web của YouTube.

    API 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, hệ thống có thể tự động chọn khu vực nội dung dựa trên các thông tin phỏng đoán như miền YouTube hoặc vị trí IP của người dùng. Người dùng cũng có thể tự chọn khu vực nội dung mong muốn ở chân 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ã vùng đượ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ó các thay đổi sau:

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

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

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

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

  • Tài liệu cho 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 đó không thực sự hỗ trợ tham số onBehalfOfContentOwner. Đây là lỗi tài liệu vì videos.rate yêu cầu đặt tham số này sẽ trả về lỗi 500.

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

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

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

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

  • API hiện hỗ trợ phần contentOwnerDetails cho các tài nguyên channel. Phần mới chứa dữ liệu của kênh liên quan đến các đối tác YouTube 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ờ liên kết giữa chủ sở hữu nội dung và kênh. Xin lưu ý rằng phần mới này không phải tuân theo chính sách về việc ngừng sử dụng.

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

    Tài nguyên Tài sản Độ 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 sẽ được tính vào hạn mức.
  • Thuộc tính brandingSettings.watch.featuredPlaylistId của tài nguyên channel không còn được dùng nữa. API sẽ trả về lỗi nếu bạn cố gắng đặt giá trị của API đó.

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

  • Giờ đây, tài liệu về lỗi 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 Chi tiết lỗi Nội dung mô tả
    badRequest (400) invalidCriteria Phương thức channels.list trả về lỗi này nếu yêu cầu chỉ định các tham số bộ lọc không thể 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 kênh và thay đổi giá trị của thuộc tính brandingSettings.channel.title. (Xin lưu ý rằng API không trả về lỗi nếu bạn bỏ qua thuộc tính.)
    badRequest (400) invalidRecentlyUploadedBy Phương thức channels.update 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 sẽ trả về lỗi này nếu phần invideoPromotion chỉ định độ lệch thời gian không hợp lệ.
    badRequest (400) tooManyPromotedItems Phương thức channels.update 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á được 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ã video không tìm thấy hoặc không thể sử dụng làm mặt hàng quảng cáo.
    forbidden (403) websiteLinkNotAllowed Phương thức channels.update 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 sẽ 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 mỗi mặt hàng được quảng bá.
    required (400) requiredWebsiteUrl Phương thức channels.update phải chỉ định thuộc tính invideoPromotion.items[].id.websiteUrl cho mỗi 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ó các thay đổi sau:

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

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

  • Chúng tôi đã cập nhật tài liệu về phương thức search.list để phản ánh chính xác việc 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 đặt giá trị cho một tham số bộ lọc.

  • Chúng tôi đã cập nhật các định nghĩa cho các tham số của phương thức search.list để lưu ý rằng bạn phải đặt giá trị của tham số type thành video nếu 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 ảnh biểu ngữ kênh được tải lên đã giảm xuống còn 2048px x 1152px. (Trước đây, kích thước tối thiểu là 2120 px x 1192 px). Ngoài ra, hãy lưu ý rằng tài nguyên channel chỉ định kích thước tối đa của tất cả các ảnh biểu ngữ được phân phát qua API. Ví dụ: kích thước tối đa của hình ảnh brandingSettings.image.bannerTvImageUrl cho ứng dụng truyền hình là 2120px x 1192px, nhưng hình ảnh thực tế có thể là 2048px x 1152px. Trung tâm trợ giúp của YouTube cung cấp thêm hướng dẫn về cách tối ưu hoá hình ảnh kênh để hiển thị trên nhiều loại thiết bị.

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

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

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

  • Phương thức playlistItems.listplaylistItems.insert hiện hỗ trợ tham số onBehalfOfContentOwner. Tham số này đã được hỗ trợ trong 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 Uỷ ban phân loại Úc (ACB) đối với phim hoặc của Cơ quan Truyền thông và Truyền thông Úc (ACMA) đối với chương trình truyền hình dành cho trẻ em.

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

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

  • API này bao gồm hai tính năng bổ sung được thiết kế để giúp bạn tìm và giới thiệu 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 tài nguyên của video hoặc kênh có nội dung phát sóng trực tiếp hay không. Các giá trị thuộc tính hợp lệ là upcoming, activenone.

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

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

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

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

    Xin lưu ý rằng chúng tôi đã ra mắt hai tính năng khác để xác định nội dung phát sóng trực tiếp 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 YouTube có gửi thông báo về video mới cho những người dùng đăng ký kênh của video đó hay không. Giá trị mặc định của thông số này là True, cho biết rằng người đăng ký sẽ nhận được thông báo về video mới tải lên. Tuy nhiên, chủ sở hữu kênh đang tải nhiều video lên 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. Các thuộc tính brandingSettings này vốn có thể sửa đổi được nên nội dung thay đổi trong tài liệu không phản ánh sự 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 (đã được hỗ trợ trong một số phương thức khác).

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

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

  • Định nghĩa 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 hai điểm xếp hạng:

    • mibacVap (VAP) – Trẻ em phải có người lớn đi kèm.
    • 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 khi chương trình khuyến mãi hay không. Bạn chỉ có thể đặt trường này nếu yêu cầu API đặt giá trị đang đượ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ó các thay đổi sau:

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

  • Thuộc tính invideoPromotion.items[].id.type của tài nguyên channel hiện hỗ trợ giá trị recentUpload, 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 từ một kênh cụ thể.

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

  • Tài nguyên channel chứa ba thuộc tính mới – brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl, brandingSettings.image.bannerTvHighImageUrl – chỉ định URL cho ảnh biểu ngữ hiển thị trên trang kênh trong các ứ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 tài nguyên của video hoặc kênh có nội dung phát sóng trực tiếp hay không. Các giá trị thuộc tính hợp lệ là upcoming, activenone.

    • Đối với tài nguyên video, giá trị upcoming cho biết video là chương trình phát sóng trực tiếp chưa bắt đầu, còn giá trị active cho biết video là 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ó chương trình phát sóng theo lịch chưa bắt đầu, còn giá trị acive cho biết kênh có chương trình phát sóng trực tiếp đang diễn ra.

  • Trong tài nguyên watermark, thuộc tính targetChannelId đã thay đổi từ một đối tượng thành một chuỗi. Thay vì chứa thuộc tính con chỉ định mã nhận dạng kênh YouTube của kênh mà hình mờ hình mờ liên kết, giờ đây, thuộc tính targetChannelId sẽ tự 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 (đã được hỗ trợ trong 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 để hệ thống chỉ trả về các sự kiện truyền phát đang hoạt động, sắp tới hoặc đã hoàn tất.

  • Thuộc tính contentDetails.contentRating.mibacRating mới xác định mức phân loại của một video nhận được từ Ministero dei Beni e delle Attivita Culturali e del Turismo của Ý.

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

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

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

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

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

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

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

  • Thuộc tính statistics.hiddenSubscriberCount mới của tài nguyên channel chứa giá trị boolean cho biết liệu số người đăng ký của kênh có bị ẩn hay không. Do đó, thuộc tính này sẽ có giá trị 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 đã được hỗ trợ cho một số phương pháp khác.

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

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

    Loại lỗi Chi tiết lỗi Nội dung 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 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ó các thay đổi sau:

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

    • API 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à sử dụng thuộc tính invideoPromotion.items[].id.websiteUrl mới để chỉ định URL. Ngoài ra, hãy sử dụng thuộc tính invideoPromotion.items[].customMessage mới để xác định thông điệp tuỳ chỉnh sẽ hiển thị cho chương trình khuyến mãi.

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

      Bằng việc thêm đường liên kết quảng cáo, bạn đồng ý rằng các đườ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à đồng ý rằng những đường liên kết đó sẽ tuân thủ chính sách của AdWords, chính sách quảng cáo của YouTube, Nguyên tắc cộng đồng của YouTubeĐiều khoản dịch vụ của YouTube.

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

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

      • Đối tượng invideoPromotion.defaultTiming mới chỉ định các chế độ cài đặt thời gian mặc định cho chương trình khuyến mãi. Những chế độ cài đặt đó xác định thời điểm một mặt hàng quảng cáo sẽ xuất hiện trong lúc người dùng 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 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 đã được hỗ trợ cho một số phương pháp khác.

  • Trong phản hồi API cho một 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ụ Python cho phương thức playlistItems.insert cũng đã bị xoá vì chức năng mà công cụ minh hoạ hiện đang được phương thức videos.rate xử lý.

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

    Loại lỗi Chi tiết lỗi Nội dung mô tả
    badRequest invalidMine Không thể sử dụng tham số mine trong các yêu cầu mà người dùng đã xác thực là đối tác của YouTube. Bạn nên xóa tham số mine, xác thực với tư cách người dùng YouTube bằng cách xóa tham số onBehalfOfContentOwner hoặc hoạt động với tư cách 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ó các thay đổi sau:

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

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

  • Trong tài nguyên channelBanner, giá trị của thuộc tính kind đã thay đổi từ youtube#channelBannerInsertResponse thành youtube#channelBannerResource. Tài nguyên này được trả về theo 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àu nổi bật bổ sung cho nội dung của kênh. Giá trị thuộc tính là một 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 liệu một gói thuê bao là dành cho tất cả hoạt động của một kênh hay chỉ dành cho các video mới tải lên. 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ị thuộc tính hợp lệ là alluploads.

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

    • Tham số chart xác định biểu đồ mà bạn muốn truy xuất. Hiện tại, giá trị duy nhất được hỗ trợ là mostPopular. Xin lưu ý rằng tham số chart là một tham số bộ lọc, có nghĩa là tham số này không thể được dùng 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 cần truy xuất biểu đồ. Bạn chỉ có thể dùng tham số này cùng với tham số chart. Theo mặc định, các biểu đồ không bị hạn chế ở 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ủ đề trên Freebase có liên quan đến video hoặc nội dung của video. Các chủ đề của những 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 nêu rõ 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 mức phân loại của MPAA, mức phân loại của TVPG, v.v. Đối với mỗi hệ thống phân loại, API hiện hỗ trợ giá trị xếp hạng cho biết rằng video chưa được xếp hạng. 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 phân loại" thường được dùng để xác định các phiên bản chưa cắt của bộ phim mà phiên bản cắt ghép của bộ phim đó đã nhận được mức phân loại chính thức.

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

  • 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 đó để truy xuất danh sách người đăng ký trên kênh của người dùng đã xác thực.

  • Các phương thức channelBanners.insert, channels.update, videos.getRatingvideos.rate hiện đều hỗ trợ tham số onBehalfOfContentOwner. Tham số đó cho biết rằng 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ế là phương thức đó có thể được dùng để cập nhật đối tượng brandingSettings của tài nguyên channel và các thuộc tính con của tài nguyên đó. Tài liệu này hiện cũng liệt kê danh sách thuộc tính đã cập nhật mà bạn có thể đặt cho đối tượng invideoPromotion của tài nguyên channel.

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

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

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

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

  • Tài nguyên danh sách phát hiện chứa thuộc tính snippet.tags. Tài sản 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 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 phương thức channels.listsearch.list) giờ đây cũng được hỗ trợ cho phương thức videos.insert, videos.updatevideos.delete. Xin lưu ý rằng khi tham số này được dùng trong lệnh gọi đến phương thức videos.insert, yêu cầu cũng phải chỉ định một giá trị cho tham số onBehalfOfContentOwnerChannel mới. Giá trị này giúp xác định kênh mà video sẽ được thêm vào. Kênh phải được liên kết với chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định.

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

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

    Cụ thể, liên quan đến bản phát hành này, giờ đây, tham số sẽ 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 đây:

    Loại lỗi Chi tiết lỗi Nội dung mô tả
    forbidden insufficientCapabilities Lỗi này không chỉ xảy ra với một phương thức API cụ thể. Mã 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 (được hỗ trợ trong một số phương thức API).
    unauthorized authorizationRequired Phương thức activities.list trả về lỗi này khi yêu cầu sử dụng tham số home nhưng không được uỷ quyền đúng cách.
  • Trong tài nguyên channels, thuộc tính invideoPromotion.channelId đã bị xoá vì mã nhận dạng kênh đã được chỉ định bằng thuộc tính id của tài nguyên.

  • Hướng dẫn mới về Cách sử dụng 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 các nhà phát triển chuyển từ phiên bản API trước và có ứng dụng yêu cầu nội dung cho người dùng default hoặc dựa trên khái niệm rằng mỗi kênh YouTube đều có một tên người dùng duy nhất, hiện không còn như vậy nữa.

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

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

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

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

  • Giờ đây, các trang độc lập sẽ liệt kê các mã mẫu dành cho Java, .NET, PHPRuby.

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

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

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

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

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

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

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

  • Bạn có thể dùng phương thức channels.update mới để cập nhật dữ liệu về chiến dịch quảng cáo trong video của kênh. 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à 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ó các 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ó nhận dạng người dùng đã được liên kết với tên người dùng YouTube hay tài khoản Google+ hay không. Người dùng có một trong các đường liên kết này đã có danh tính công khai trên YouTube. Đây là điều kiện tiên quyết để thực hiện một số hành động, chẳng hạn như tải video lên.

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

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

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

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

    Phương thức này sẽ trả về lỗi forbidden cho các yêu cầu cố gắng truy xuất thông tin xếp hạng video nhưng không được phép thực hiện việc này.

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

    • Tham số maxResults chỉ định số lượng video tối đa mà API có thể trả về trong tập hợp kết quả, còn tham số pageToken xác định một trang cụ thể trong tập hợ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, giờ đây 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 hợp kết quả hiện tại. Tài nguyên youtube#videoListResponse cũng có thể bao gồm các thuộc tính nextPageTokenprevPageToken, mỗi thuộc tính cung cấp một mã thông báo có thể dùng để truy xuất một trang cụ thể trong tập hợp kết quả.

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

    • autoLevels – Đặt giá trị thông 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 cho video.
    • stabilize – Đặt giá trị thông 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 chỉ định tên của kênh đã thêm mục danh sách phát.
    • playlist – Thuộc tính 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 đăng ký.

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

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

    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:

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

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

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

Bản cập nhật này có các 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 đối với một video hoặc xoá điểm xếp hạng khỏi video.

    Ngoài ra, chúng tôi cũng cập nhật tài liệu về lỗi để liệt kê các lỗi mà API có thể trả về trong khi phản hồi lệnh gọi phương thức videos.rate.

  • Hình thu nhỏ video hiện đã được xác định trong tài liệu API dưới dạng một tài nguyên riêng 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 video.

    Ngoài ra, chúng tôi cũng cập nhật tài liệu về lỗi để liệt kê các lỗi mà API có thể trả về trong khi phản hồi lệnh gọi phương thức thumbnails.set.

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

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

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

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

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

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

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

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

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

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

    Loại lỗi Chi tiết lỗi Nội dung 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 specifies invalid recording details.
    badRequest invalidVideoGameRating Siêu dữ liệu của yêu cầu chỉ định một mức phân loại trò chơi điện tử không hợp lệ.
    badRequest invalidVideoMetadata Siêu dữ liệu của yêu cầu không hợp lệ.
  • Tham số onBehalfOfContentOwner đã bị xoá khỏi danh sách tham số được hỗ trợ cho các phương thức videos.updatevideos.delete.

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

Bản cập nhật này có các 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 chỉ định tên của kênh 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 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ế việc tìm kiếm 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ế hoạt động tìm kiếm video để truy xuất tất cả video hoặc chỉ truy xuất phim hoặc chỉ các tập của chương trình.

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

  • Một số phương thức API hỗ trợ các thông số mới dành riêng cho đối tác nội dung trên YouTube. Các đố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 YouTube CMS đang hành động thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị thông số. Tài khoản CMS mà người dùng xác thực phải được liên kết với chủ sở hữu nội dung đã chỉ định trên YouTube.

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

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

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

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

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

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

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

    • Các phần fileDetails, processingDetailssuggestions mới cung cấp thông tin cho chủ sở hữu video về các video 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 lên video và bao gồm các tính năng sau:

      • tiến trình và trạng thái xử lý
      • lỗi hoặc các sự cố khác gặp phải trong khi xử lý video
      • tình trạng có sẵn 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 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ả thuộc tính có trong mỗi phần.

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

      • Đối tượng processingProgress chứa thông tin về tiến trình của YouTube trong quá trình xử lý tệp video đã tải lên. 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 video có sử dụng được các loại dữ liệu hoặc nội dung khác nhau, chẳng hạn như thông tin chi tiết về tệp hoặc hình thu nhỏ hay không.

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

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

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

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

    • Phần status chứa hai thuộc tính mới. Chủ sở hữu video có thể đặt giá trị cho cả hai tài sản 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ể nhúng được 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.

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

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

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

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

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

  • Tài liệu về lỗi mô tả lỗi forbidden mới, cho biết rằng yêu cầu không được uỷ quyền thích hợp 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ó các thay đổi sau:

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

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

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

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

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

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

    • Tham số q không còn được chỉ định làm bộ lọc, nghĩa là ....
    • Tham số relatedToVideo đổi tên thành relatedToVideoId.
    • Tham số published đã được thay thế bằng hai tham số mới, publishedAfterpublishedBefore, như 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ị Nội dung mô tả
    channelId string Trả về tài nguyên do kênh được chỉ định tạo.
    publishedAfter datetime Trả về các tài nguyên được tạo sau thời gian chỉ định.
    publishedBefore datetime Trả về các tài nguyên được tạo trước thời gian chỉ định.
    regionCode string Trả về tài nguyên cho quốc gia được chỉ định.
    videoCategoryId string Lọc kết quả tìm kiếm video để chỉ bao gồm các video liên kết với danh mục video đã chỉ định.
    videoEmbeddable string Lọc kết quả tìm kiếm video để chỉ bao gồm những video có thể phát trong trình phát được nhúng trên trang web. Đặt giá trị tham số thành true để chỉ truy xuất các video có thể nhúng.
    videoSyndicated string Lọc kết quả tìm kiếm video để chỉ bao gồm các video có thể phát bên ngoài YouTube.com. Đặt giá trị tham số thành true để chỉ truy xuất các video được phân phối.
  • Một số tài nguyên API có hỗ trợ các thuộc tính mới. Bảng dưới đây xác định các tài nguyên và thuộc tính mới của các tài nguyên đó:

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

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

    Phương thức Thuộc tính
    activities.insert Thuộc tính bắt buộc:
    • snippet.description
    Tài sản có thể sửa đổi:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Thuộc tính bắt buộc:
    • id
    playlistItems.update Thuộc tính bắt buộc:
    • id
    videos.update Thuộc tính bắt buộc:
    • id
  • API không còn báo cáo lỗi playlistAlreadyExists nữa nếu bạn cố gắng tạo hoặc cập nhật danh sách phát có cùng tiêu đề với danh sách phát đã tồn tại trên 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 Chi tiết lỗi Nội dung mô tả
    guideCategories.list notFound notFound Không tìm thấy danh mục hướng dẫn được xác định bằng thông số id. Sử dụng phương thức guideCategories.list để truy xuất danh sách các giá trị hợp lệ.
    playlistItems.delete forbidden playlistItemsNotAccessible Yêu cầu không được phép xóa mục danh sách phát đã chỉ định.
    videoCategories.list notFound videoCategoryNotFound Không tìm thấy danh mục video được xác định bằng thông số id. Sử dụng phương thức videoCategories.list để truy xuất danh sách các giá trị hợp lệ.