Triển khai: Video

Các ví dụ sau đây cho biết cách sử dụng API dữ liệu YouTube (v3) để 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 kênh

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

Ví dụ này cho biết cách lấy danh sách các video phổ biến nhất trên YouTube, đượ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 nói chung.

Để 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 thông số sau:

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

Yêu cầu dưới đây truy xuất các 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ì APIs Explorer không hỗ trợ khả năng tải tệp lên, nên mô tả này không liên kết đến ví dụ có thể thực thi. Các tài nguyên sau sẽ giúp bạn sửa đổi ứng dụng của mình để ứng dụng có thể tải lên video bằng API v3:

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

  • Hướng dẫn 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 có thể tiếp tục. Hướng dẫn này chủ yếu dành cho nhà phát triển không thể sử dụng thư viện ứng dụng Google API, một số thư viện này cung cấp hỗ trợ gốc cho tải lên có thể tiếp tục lại.

  • Ví dụ về JavaScript để tải lên video sử dụng CORS (chia sẻ tài nguyên nhiều nguồn gốc) để minh họa cách tải lên tệp video qua trang web. Thư viện tải lên CORS mà API phiên bản 3 sử dụng đương nhiên hỗ trợ quá trình tải lên tiếp nối. Ngoài ra, ví dụ minh họa 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 trạng thái cho video đã tải lên.

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

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

  • 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 ID video duy nhất cho video được 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 video. Đặt giá trị của thông số id thành mã video nhận được trong 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 xử lý video đó hay không. Giá trị của thuộc tính sẽ thay đổi thành giá trị không phả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à tài nguyên video, trong đó thuộc tính id chỉ định ID video của video mà bạn đang xóa. Trong ví dụ này, tài nguyên cũng chứa một đối tượng recordingDetails.

    Yêu cầu dưới đây kiểm tra trạng thái của video. Để hoàn tất yêu cầu trong APIs Explorer, 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ò API để kiểm tra định kỳ trạng thái của video mới tải lên. Sau khi video được xử lý, ứng dụng của bạn có thể tạo bản tin hoặc tiếp tục thực hiện hành động khác tùy 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ụ 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. Danh sách này có thể dùng để hiển thị danh sách video bằng cách sử dụng mã nhận dạng của mỗi video làm khóa.

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

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

    Hãy 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ị thông số tùy 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à tài nguyên video, trong đó thuộc tính id chỉ định ID 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 APIs Explorer, 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ỏ tùy chỉnh lên và đặt hình ảnh đó cho video

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

Không thể kiểm tra truy vấn này bằng APIs Explorer bởi vì APIs Explorer không hỗ trợ khả năng tải lên tệp phương tiện, đây là một yêu cầu đối với phương pháp này.

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

Xóa video

Ví dụ này cho biết cách xóa video. Ví dụ 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. Danh sách này có thể dùng để hiển thị danh sách video bằng cách sử dụng mã nhận dạng của mỗi video làm khóa.

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

  • Bước 2: Xóa 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 ID video của video mà bạn đang xóa. Yêu cầu phải được cấp phép qua OAuth 2.0. Nếu đang kiểm thử truy vấn này trong APIs Explorer, bạn sẽ cần thay thế một mã video hợp lệ cho giá trị thông số id.

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

Báo cáo video lạm dụng

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

  • Bước 1: Truy xuất mã nhận dạng để giải thích lý do báo cáo về video

    Gửi yêu cầu được uỷ quyền đến phương thức videoAbuseReportReasons.list để truy xuất danh sách các lý do hợp lệ cho việc gắn cờ video. Tài nguyên videoAbuseReportReason mẫu dưới đây chứa thông tin gắn cờ video chứa nội dung spam 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ư đã nêu trong tài nguyên này, lý do này được liên kết với một danh sách các lý do phụ. Khi gắn cờ một video vì có chứa nội dung vi phạm, bạn cần cung cấp mã nhận dạng và lý do chính đáng.

  • Bước 2: Gắn cờ cho video vì có nội dung vi phạm

    Gửi yêu cầu được ủy quyền đến phương thức videos.reportAbuse để báo cáo video thực sự. Nội dung yêu cầu là đố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 ý trong bước 1, chúng tôi ủng hộ và khuyến khích những 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 gắn cờ video chứa nội dung spam hoặc gây hiểu lầm và cụ thể hơn là sử dụng hình thu nhỏ gây hiểu lầm. Như đã trình bày trong đối tượng JSON mẫu ở trên, ID cho nội dung Spam hoặc gây hiểu lầmS. Mã 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"
    }

    Yêu cầu videos.reportAbuse phải được cấp phép bằng OAuth 2.0. Đường liên kết dưới đây sẽ tải đối tượng JSON ở trên trong APIs Explorer. Để kiểm tra truy vấn, bạn cần thay thế một mã video hợp lệ cho giá trị thuộc tính videoId. Xin nhớ rằng việc gửi yêu cầu này thực sự sẽ gắn cờ video.

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