Yêu cầu API mẫu

Trang này hiển thị các yêu cầu mẫu đến YouTube Data API. Bạn sử dụng YouTube Data API để truy xuất và thao tác với các tài nguyên trên YouTube như video, kênh và danh sách phát. Mỗi mẫu đều liên kết đến và điền sẵn Google APIs Explorer để bạn có thể thực thi mẫu và xem phản hồi.

Để biết thông tin về cách tải nội dung lên bằng YouTube Data API, hãy xem bài viết Video tải lên tiếp nối.

Tổng quan

Để trình bày rõ ràng, các mẫu trên trang này cho thấy các thành phần riêng biệt của mỗi yêu cầu và viết tắt URL cơ sở của máy chủ lưu trữ xử lý các yêu cầu Data API (https://www.googleapis.com/youtube/v3). Để đưa ra yêu cầu bên ngoài bối cảnh của mẫu, bạn cần cung cấp URL đầy đủ.

Ví dụ: sau đây là một yêu cầu mẫu xuất hiện trên trang này:

GET {base-URL}/channels?part=contentDetails
                       &mine=true

URL hoàn chỉnh cho yêu cầu này là:

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
                                                  &mine=true

Một số yêu cầu truy xuất dữ liệu mà chỉ chủ sở hữu kênh YouTube mới có thể truy cập, chẳng hạn như danh sách người đăng ký. Những yêu cầu này đòi hỏi chủ sở hữu kênh cấp cho Google APIs Explorer quyền thay mặt họ thực hiện các yêu cầu YouTube Data API. (Xem phần Triển khai phương thức xác thực OAuth 2.0 để biết chi tiết về cách cấp quyền truy cập vào dữ liệu kênh riêng tư.) Sau khi liên kết với APIs Explorer, hãy nhấp vào nút Authorize yêu cầu bằng OAuth 2.0. Bước này cho phép APIs Explorer thay mặt chủ sở hữu thực hiện yêu cầu. Bạn cũng chọn phạm vi uỷ quyền để chỉ định loại yêu cầu mà APIs Explorer có thể thực hiện.

Phản hồi cho mỗi yêu cầu là bản đại diện JSON của một tài nguyên trên YouTube. Tham số part trong yêu cầu chỉ định những phần của tài nguyên được đưa vào phản hồi. Tham số này xác định một hoặc nhiều thuộc tính tài nguyên cấp cao nhất (không lồng nhau) cần được đưa vào phản hồi. Ví dụ: một số thành phần của tài nguyên video là:

  • đoạn trích
  • contentDetails
  • cầu thủ
  • thống kê
  • trạng thái

Tất cả các phần này đều là đối tượng chứa các thuộc tính lồng nhau, và bạn có thể coi những đối tượng này là các nhóm trường siêu dữ liệu mà máy chủ API có thể truy xuất (hoặc có thể không truy xuất). Do đó, tham số part yêu cầu bạn phải chọn các thành phần tài nguyên mà ứng dụng của bạn thực sự sử dụng.Hãy xem bài viết Bắt đầu sử dụng YouTube Data API để biết thêm thông tin.

Truy xuất thông tin kênh

Yêu cầu này sử dụng phương thức channels.list để truy xuất thông tin chi tiết về các kênh thuộc về người dùng đã xác thực.

GET {base_URL}/channels?part=contentDetails
                       &mine=true

Phản hồi cho yêu cầu này có chứa mã nhận dạng kênh và contentDetails cho kênh của người dùng đã xác thực. contentDetails bao gồm một số danh sách phát do hệ thống tạo có liên kết với kênh đó. Nhiều yêu cầu tiếp theo cần phải có mã nhận dạng kênh hoặc một trong các mã nhận dạng danh sách phát nên bạn cần phải ghi lại các mã đó.

{
  "id": {CHANNEL_ID},
  "kind": "youtube#channel",
  "etag": etag,
  "contentDetails": {
    "relatedPlaylists": {
      "likes": {LIKES_PLAYLIST_ID},
      "favorites": {FAVORITES_PLAYLIST_ID},
      "uploads": {UPLOADS_PLAYLIST_ID},
      "watchHistory": {WATCHHISTORY_PLAYLIST_ID},
      "watchLater": {WATCHLATER_PLAYLIST_ID}
    },
    "googlePlusUserId": string
  },
}

Video đã tải lên và danh sách phát do hệ thống tạo

YouTube thêm tất cả các video đã tải lên vào một danh sách phát liên kết với kênh đó. Để xem danh sách các video đã tải lên, bạn cần truy vấn các "video tải lên" danh sách phát được trả về trong phản hồi hiển thị ở trên về thông tin kênh, sử dụng phương thức playlistItems.list để truy xuất các video trong danh sách phát đó.

Trước khi thực thi yêu cầu mẫu sau đây trong Google APIs Explorer, hãy thay thế {UPLOADS_PLAYLIST_ID} bằng mã nhận dạng danh sách phát từ yêu cầu trước đó.

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

Lưu ý rằng giá trị "id" cho mỗi mục được trả về là mã danh sách phát của mục đó. Mã video của mục trong danh sách phát là videoId trong phần contentDetails.

Bạn có thể truy xuất danh sách video yêu thích, lượt thích, nhật ký xem hoặc danh sách xem sau của người dùng theo yêu cầu trên bằng cách thay thế ID danh sách phát tương ứng từ phản hồi thông tin kênh.

Danh sách phát do người dùng tạo

Yêu cầu này sử dụng phương thức playlists.list để truy xuất các danh sách phát liên kết với kênh đã xác thực. Xin lưu ý rằng yêu cầu này không truy xuất danh sách phát do hệ thống tạo có trong thông tin kênh (video tải lên, Nhật ký xem, v.v.). Thao tác này chỉ truy xuất danh sách phát do người dùng tạo.

GET {base_URL}/playlists?part=snippet
                        &mine=true

Sau khi có mã nhận dạng danh sách phát, bạn có thể truy xuất các nội dung trong danh sách phát đó bằng cách sử dụng yêu cầu nêu ở phần trước.

Bạn có thể yêu cầu thông tin về thông tin về danh sách phát công khai của kênh mà không cần xác thực. Khi gửi một yêu cầu chưa được xác thực, bạn cần thêm đối số key chỉ định khoá API duy nhất để ứng dụng đưa ra yêu cầu. Ví dụ: yêu cầu này truy xuất các danh sách phát liên kết với kênh Google Developers.

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

Truy xuất gói thuê bao

Tài nguyên subscription xác định mối quan hệ giữa người dùng YouTube (người đăng ký) và kênh. Phương thức subscriptions.list truy xuất người đăng ký theo dõi một kênh cụ thể hoặc các kênh đăng ký của một người dùng cụ thể, tuỳ thuộc vào việc bạn đưa vào yêu cầu thông số nào.

Số người đăng ký kênh

Yêu cầu này sẽ truy xuất danh sách người đăng ký của kênh đã xác thực.

GET {base_URL}/subscriptions?part=snippet
                            &mySubscribers=true

Gói thuê bao của người dùng

Bạn có thể sử dụng cùng một phương thức liệt kê người đăng ký (subscriptions.list) để liệt kê các kênh mà người dùng đăng ký. Yêu cầu này sử dụng tham số mine để truy xuất danh sách các kênh YouTube mà người dùng đã xác thực đăng ký.

GET {base_URL}/subscriptions?part=snippet
                            &mine=true

Truy xuất hoạt động của người dùng

Tài nguyên activity chứa thông tin về hành động mà một kênh hoặc người dùng cụ thể đã thực hiện trên YouTube, chẳng hạn như tải video lên, đăng ký kênh, v.v. Phương thức activities.list truy xuất các hành động liên kết với một kênh hoặc người dùng phù hợp với tiêu chí yêu cầu. Ví dụ: bạn có thể truy xuất các tác vụ được liên kết với kênh cụ thể, với đăng ký của người dùng hoặc với trang chủ YouTube tuỳ chỉnh của người dùng.

Hoạt động trong một khoảng thời gian

Yêu cầu này truy xuất tất cả hành động mà người dùng đã xác thực đã thực hiện trong tháng 4 năm 2013.

GET {base_URL}/activities?part=snippet,contentDetails
                         &mine=true
                         &publishedAfter=2013-04-01T00%3A00%3A00Z
                         &publishedBefore=2013-05-01T00%3A00%3A00Z

Hoạt động trên trang chủ

Yêu cầu này truy xuất nguồn cấp dữ liệu hoạt động tuỳ chỉnh hiển thị trên trang chủ YouTube của người dùng đã xác thực. 

GET {base_URL}/activities?part=snippet,contentDetails
                         &home=true

Để truy xuất số liệu thống kê về lượt xem, chỉ số về mức độ phổ biến, thông tin nhân khẩu học của các video và kênh trên YouTube, hãy sử dụng API của YouTube Analytics. Trang Yêu cầu API mẫu cho biết cách truy xuất các báo cáo thường gặp từ YouTube Analytics.

Phương thức search.list cho phép bạn tìm kiếm video, kênh hoặc danh sách phát trên YouTube phù hợp với các tiêu chí cụ thể. Bạn có thể tìm kiếm dựa trên thuộc tính, từ khoá hoặc chủ đề của video (hoặc kết hợp các yếu tố này) và sắp xếp kết quả dựa trên các yếu tố như ngày tạo, số lượt xem hoặc điểm xếp hạng.

Giống như các yêu cầu YouTube Data API khác, phương thức search.list trả về bản trình bày JSON của một tài nguyên trên YouTube. Tuy nhiên, không giống như các tài nguyên khác của YouTube, kết quả tìm kiếm không phải là một đối tượng cố định với mã nhận dạng duy nhất.

Nhiều yêu cầu tìm kiếm nội dung công khai nên không cần xác thực. Trong số các mẫu bên dưới, chỉ mẫu đầu tiên yêu cầu xác thực, vì mẫu yêu cầu cụ thể là "của tôi" video. Khi gửi một yêu cầu chưa được xác thực, bạn cần thêm đối số key chỉ định khoá API duy nhất cho ứng dụng của bạn.

Video được xem nhiều nhất của tôi

Yêu cầu này truy xuất tất cả video của người dùng đã xác thực và liệt kê các video đó theo thứ tự giảm dần theo số lượt xem.

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

Video độ phân giải cao có thể nhúng

Yêu cầu này tìm kiếm những video có các thuộc tính cụ thể, cụ thể là video độ phân giải cao có thể nhúng được trên các trang web khác. Mô hình này liệt kê các kết quả theo thứ tự xếp hạng giảm dần.

GET {base_URL}/search?part=snippet
                     &order=rating
                     &type=video
                     &videoDefinition=high
                     &videoEmbeddable=true
                     &key={YOUR_API_KEY}

Video về một chủ đề cụ thể

Yêu cầu này sẽ tìm kiếm các video có phụ đề về YouTube Data API.

GET {base_URL}/search?part=snippet
                     &q=YouTube+Data+API
                     &type=video
                     &videoCaption=closedCaption
                     &key={YOUR_API_KEY}

Tìm kiếm theo chủ đề

Một cách tinh vi hơn để tìm kiếm video về một chủ đề cụ thể là sử dụng chủ đề Freebase thay vì từ khoá. Tất cả các tài nguyên video và kênh YouTube đều chứa một đối tượng topicDetails chứa danh sách mã chủ đề Freebase được liên kết với tài nguyên đó. Tìm kiếm dựa trên chủ đề sẽ thông minh hơn tìm kiếm bằng từ khoá, vì chủ đề Freebase đại diện cho mọi khía cạnh của một khái niệm hoặc sự vật trong thế giới thực.

Để tìm kiếm bằng chủ đề Freebase, trước tiên bạn cần truy xuất ID chủ đề bằng Freebase API. Yêu cầu này trả về các video liên quan đến chủ đề Freebase dành cho Python, có mã chủ đề là /m/05z1_.

GET {base_URL}/search?part=snippet
                     &topicId=/m/05z1_
                     &type=video
                     &key={YOUR_API_KEY}

Tìm kiếm danh sách phát hoặc kênh

Tìm kiếm không bị giới hạn ở video. Bạn cũng có thể tìm danh sách phát hoặc kênh. Yêu cầu này truy xuất các danh sách phát khớp với từ khoá "bóng đá".

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

Nếu muốn tìm các kênh bóng đá, bạn chỉ cần thay đổi thông số type.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

Nếu muốn tìm tất cả nội dung liên quan đến bóng đá (kênh, danh sách phát và video), bạn có thể tìm kiếm chung. Nếu bạn bỏ qua tham số type, yêu cầu sẽ truy xuất nội dung thuộc mọi loại

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

Tạo và cập nhật tài nguyên

Cho đến thời điểm này, tất cả yêu cầu mà chúng tôi xem xét đều sử dụng phương thức HTTP GET để truy xuất dữ liệu của YouTube. YouTube Data API cũng cung cấp các phương thức sử dụng HTTP POST để tạo hoặc cập nhật các tài nguyên trên YouTube như video, danh sách phát hoặc kênh. Các yêu cầu sau đây cung cấp ví dụ.

Phương thức POST bao gồm Request body, là cách biểu thị tài nguyên JSON đang được tạo hoặc cập nhật. Bạn có thể tạo các bản trình bày JSON trong Google APIs Explorer bằng cách sử dụng một công cụ tương tác.

Tạo gói thuê bao

Yêu cầu này sẽ đăng ký cho người dùng đã xác thực tham gia kênh Google Developers. Nói cách khác, chức năng này tạo ra một tài nguyên gói thuê bao.

POST {base_URL}/subscriptions?part=snippet
Request body: {   'snippet': {     'resourceId': {       'kind': 'youtube#channel',       'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw'     }   } }

Tạo danh sách phát

Yêu cầu này sẽ tạo một danh sách phát công khai mới.

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

Thêm video vào danh sách phát

Giờ chúng ta đã tạo danh sách phát, hãy thêm video vào danh sách phát. Yêu cầu này sẽ thêm một video vào đầu danh sách phát ('position': 0).

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }