Triển khai: Video

Các ví dụ sau đây cho biết cách sử dụng YouTube Data API (phiên bản 3) để thực hiện các chức năng liên quan đến video.

Truy xuất video đã tải lên của một kênh

Ví dụ này truy xuất các video được tải lên một kênh cụ thể. Ví dụ này có hai bước:

Ví dụ này cho biết cách truy xuất danh sách những video phổ biến nhất trên YouTube. Danh sách này được chọn bằng một thuật toán kết hợp nhiều tín hiệu khác nhau để xác định mức độ phổ biến tổng thể.

Để truy xuất danh sách video phổ biến nhất, hãy gọi phương thức videos.list và đặt giá trị của tham số chart thành mostPopular. Khi truy xuất danh sách này, bạn cũng có thể đặt một hoặc cả hai tham số sau:

  • regionCode: Hướng dẫn API trả về danh sách video cho khu vực được chỉ định.
  • videoCategoryId: Xác định danh mục video cần truy xuất video phổ biến nhất.

Yêu cầu bên dưới truy xuất những video thể thao phổ biến nhất ở Tây Ban Nha:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Tải video lên

Vì Trình khám phá API không hỗ trợ tính năng tải tệp lên, nên nội dung mô tả này không liên kết đến một ví dụ có thể thực thi. Các tài nguyên sau đây sẽ giúp bạn sửa đổi ứng dụng để có thể tải video lên bằng API phiên bản 3:

  • Tài liệu về phương thức videos.insert của API chứa một số mã mẫu giải thích cách tải video lên bằng nhiều ngôn ngữ lập trình.

  • Hướng dẫn về Tính năng tải lên tiếp nối giải thích trình tự các yêu cầu HTTP mà ứng dụng sử dụng để tải video lên bằng quy trình tải lên tiếp nối. Hướng dẫn này chủ yếu dành cho những nhà phát triển không thể sử dụng thư viện ứng dụng API của Google, một số thư viện trong đó cung cấp tính năng hỗ trợ gốc cho tính năng tải lên có thể tiếp tục.

  • Ví dụ về JavaScript để tải video lên sử dụng CORS (chia sẻ tài nguyên trên nhiều nguồn gốc) để minh hoạ cách tải tệp video lên thông qua một trang web. Thư viện tải lên CORS mà API phiên bản 3 sử dụng tự nhiên hỗ trợ tính năng tải lên có thể tiếp tục. Ngoài ra, ví dụ này minh hoạ cách kiểm tra trạng thái của video đã tải lên bằng cách truy xuất phần processingDetails của tài nguyên video cũng như cách xử lý các thay đổi về trạng thái của video đã tải lên.

Kiểm tra trạng thái của video đã tải lên

Ví dụ này cho thấy cách kiểm tra trạng thái của một video đã tải lên. Video được tải lên sẽ xuất hiện ngay lập tức trong trang video đã tải lên của người dùng đã xác thực. Tuy nhiên, video sẽ không xuất hiện trên YouTube cho đến khi được xử lý xong.

  • Bước 1: Tải video lên

    Gọi phương thức videos.insert để tải video lên. Nếu yêu cầu thành công, phản hồi API sẽ chứa tài nguyên video xác định mã video duy nhất cho video đã tải lên.

  • Bước 2: Kiểm tra trạng thái của video

    Gọi phương thức videos.list để kiểm tra trạng thái của video. Đặt giá trị của tham số id thành mã video thu được ở bước 1. Đặt giá trị của tham số part thành processingDetails.

    Nếu yêu cầu được xử lý thành công, phản hồi API sẽ chứa tài nguyên video. Kiểm tra giá trị của thuộc tính processingDetails.processingStatus để xác định xem YouTube có còn đang xử lý video hay không. Giá trị của thuộc tính này sẽ thay đổi thành một giá trị khác ngoài processing, chẳng hạn như succeeded hoặc failed, khi YouTube xử lý xong video.

    Nội dung yêu cầu là một tài nguyên video, trong đó thuộc tính id chỉ định mã video của video mà bạn đang xoá. Trong ví dụ này, tài nguyên cũng chứa một đối tượng recordingDetails.

    Yêu cầu bên dưới kiểm tra trạng thái của một video. Để hoàn tất yêu cầu trong Trình khám phá API, bạn cần đặt giá trị của thuộc tính id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

Lưu ý: Ứng dụng của bạn có thể thăm dò ý kiến API để định kỳ kiểm tra trạng thái của video mới tải lên. Sau khi xử lý video, ứng dụng của bạn có thể tạo một thông báo hoặc tiến hành một hành động khác tuỳ thuộc vào trạng thái của video.

Cập nhật video

Ví dụ này cho biết cách cập nhật video để thêm thông tin về thời gian và địa điểm quay video. Ví dụ này có các bước sau:

  • Bước 1: Truy xuất mã video

    Làm theo các bước ở trên để truy xuất video đã tải lên cho kênh của người dùng hiện đã được xác thực. Bạn có thể dùng danh sách này để hiển thị danh sách video, sử dụng mã nhận dạng của mỗi video làm khoá.

    Lưu ý: Có nhiều cách khác để lấy mã video, chẳng hạn như truy xuất kết quả tìm kiếm hoặc liệt kê các mục trong danh sách phát. Tuy nhiên, vì chỉ chủ sở hữu video mới có thể cập nhật video, nên việc truy xuất danh sách video do người dùng uỷ quyền cho yêu cầu API sở hữu có thể là bước đầu tiên trong quy trình này.

  • Bước 2: Cập nhật video

    Gọi phương thức videos.update để cập nhật một video cụ thể. Đặt giá trị của tham số part thành recordingDetails. (Giá trị tham số phụ thuộc vào trường siêu dữ liệu của video đang được cập nhật.)

    Nội dung yêu cầu là một tài nguyên video, trong đó thuộc tính id chỉ định mã video của video mà bạn đang cập nhật. Trong ví dụ này, tài nguyên cũng chứa một đối tượng recordingDetails.

    Tài nguyên mẫu bên dưới cho biết video được quay vào ngày 30 tháng 10 năm 2013 tại Boston:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    Để hoàn tất yêu cầu trong Trình khám phá API, bạn cần đặt giá trị của thuộc tính id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

Tải hình thu nhỏ tuỳ chỉnh lên và đặt hình thu nhỏ đó cho một video

Bạn có thể sử dụng phương thức thumbnails.set của API phiên bản 3 để tải hình thu nhỏ tuỳ chỉnh lên và đặt hình thu nhỏ đó cho một video. Trong yêu cầu của bạn, giá trị của thông số videoId xác định video sẽ sử dụng hình thu nhỏ.

Bạn không thể kiểm thử truy vấn này bằng Trình khám phá API vì Trình khám phá API không hỗ trợ tính năng tải tệp phương tiện lên (đây là yêu cầu đối với phương thức này).

Mã mẫu liên quan: PHP, Python

Xóa video

Ví dụ này cho biết cách xoá một video. Ví dụ này có các bước sau:

  • Bước 1: Truy xuất mã video

    Làm theo các bước ở trên để truy xuất video đã tải lên cho kênh của người dùng hiện đã được xác thực. Bạn có thể dùng danh sách này để hiển thị danh sách video, sử dụng mã nhận dạng của mỗi video làm khoá.

    Lưu ý: Có nhiều cách khác để lấy mã video, chẳng hạn như truy xuất kết quả tìm kiếm hoặc liệt kê các mục trong danh sách phát. Tuy nhiên, vì chỉ chủ sở hữu video mới có thể xoá video, nên việc truy xuất danh sách video do người dùng uỷ quyền cho yêu cầu API sở hữu có thể là bước đầu tiên trong quy trình này.

  • Bước 2: Xoá video

    Gọi phương thức videos.delete để xoá một video cụ thể. Trong yêu cầu, tham số id chỉ định mã video của video mà bạn đang xoá. Yêu cầu phải được uỷ quyền bằng OAuth 2.0. Nếu đang kiểm thử truy vấn này trong Trình khám phá API, bạn cần thay thế giá trị tham số id bằng mã video hợp lệ.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Báo cáo video có hành vi sai trái

Ví dụ này cho biết cách báo cáo một video có chứa nội dung sai trái. Ví dụ này có các bước sau:

  • Bước 1: Truy xuất giấy tờ tuỳ thân giải thích lý do video bị báo cáo

    Gửi một yêu cầu được uỷ quyền đến phương thức videoAbuseReportReasons.list để truy xuất danh sách lý do hợp lệ để gắn cờ video. Tài nguyên videoAbuseReportReason mẫu bên dưới chứa thông tin để gắn cờ một video có nội dung rác hoặc gây hiểu lầm.

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

    Như trong tài nguyên, lý do này được liên kết với danh sách các lý do phụ. Khi gắn cờ một video vì chứa nội dung rác, bạn cần cung cấp mã video và lý do. Bạn cũng nên cung cấp một lý do phụ.

  • Bước 2: Gắn cờ video có nội dung sai trái

    Gửi yêu cầu được uỷ quyền đến phương thức videos.reportAbuse để thực sự báo cáo video. Nội dung yêu cầu là một đối tượng JSON xác định cả video đang bị gắn cờ và lý do video đó bị gắn cờ. Như đã lưu ý ở bước 1, đối với một số loại lý do, bạn nên cung cấp lý do phụ.

    Thuộc tính videoId của đối tượng JSON xác định video đang bị gắn cờ.

    Đối tượng JSON mẫu bên dưới đánh dấu một video vì chứa nội dung vi phạm hoặc gây hiểu lầm, cụ thể là vì sử dụng hình thu nhỏ gây hiểu lầm. Như trong đối tượng JSON mẫu ở trên, mã nhận dạng cho nội dung Lừa đảo hoặc gây hiểu lầmS. Mã nhận dạng cho Hình thu nhỏ gây hiểu lầm28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    Bạn phải uỷ quyền cho yêu cầu videos.reportAbuse bằng OAuth 2.0. Đường liên kết bên dưới sẽ tải đối tượng JSON ở trên trong Trình khám phá API. Để kiểm thử truy vấn, bạn cần thay thế giá trị thuộc tính videoId bằng mã video hợp lệ. Xin lưu ý rằng việc gửi yêu cầu này sẽ gắn cờ video đó.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse