Triển khai: Bình luận

Phương thức comments.markAsSpam không còn được hỗ trợ nữa.

Các ví dụ sau đây minh hoạ 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 bình luận.

Lấy bình luận cho một video

Để truy xuất danh sách chuỗi nhận xét cho một video, hãy gọi phương thức commentThreads.list. Đặt các giá trị tham số sau đây trong yêu cầu của bạn:

  • part: Đặt giá trị tham số thành snippet nếu bạn chỉ muốn truy xuất bình luận cấp cao nhất hoặc thành snippet,replies nếu bạn cũng muốn truy xuất thư trả lời cho bình luận cấp cao nhất. (Xin lưu ý rằng tài nguyên commentThread không nhất thiết phải chứa tất cả các câu trả lời cho một bình luận và bạn cần sử dụng phương thức comments.list nếu muốn truy xuất tất cả các câu trả lời cho một bình luận cụ thể.)

  • videoId: Chỉ định mã nhận dạng video trên YouTube của video mà bạn đang truy xuất bình luận.

Yêu cầu bên dưới truy xuất bình luận và phản hồi bình luận liên quan đến video bài phát biểu quan trọng tại hội nghị Google I/O năm 2014, có mã video là wtLJPvx7-ys.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&videoId=wtLJPvx7-ys

Truy xuất bình luận về hoặc liên quan đến một kênh

API này hỗ trợ khả năng truy xuất chuỗi nhận xét về một kênh hoặc truy xuất tất cả chuỗi nhận xét liên quan đến một kênh. Trong trường hợp sau, API có thể chứa bình luận về kênh hoặc về bất kỳ video nào của kênh.

Yêu cầu dưới đây truy xuất tất cả nhóm chuỗi bình luận liên kết với kênh YouTube GoogleDevelopers:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw

Thêm nhận xét

Gọi phương thức commentThreads.insert để thêm bình luận mới ở cấp cao nhất vào một kênh hoặc video. Đặt giá trị tham số part của yêu cầu thành snippet. Nội dung yêu cầu là một commentThread resource trong đó thuộc tính snippet.topLevelComment[].snippet[].textOriginal chứa văn bản bình luận. Yêu cầu này phải được uỷ quyền bằng OAuth 2.0.

  • Để thêm bình luận vào một kênh, hãy sử dụng thuộc tính snippet.channelId để xác định kênh đó.
  • Để thêm bình luận vào một video, hãy sử dụng thuộc tính snippet.channelId để xác định kênh đã tải video đó lên. Ngoài ra, hãy sử dụng thuộc tính snippet.videoId để xác định video.

Yêu cầu mẫu sau đây thêm một bình luận vào video.

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

Yêu cầu này chèn tài nguyên như dưới đây.

{
 "snippet": {
  "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
  "topLevelComment": {
   "snippet": {
    "textOriginal": "This video is awesome!"
   }
  },
  "videoId": "MILSirUni5E"
 }
}

Trả lời nhận xét

Gọi phương thức comments.insert để trả lời bình luận. Đặt giá trị tham số part của yêu cầu thành snippet. Nội dung yêu cầu là một comment resource trong đó thuộc tính snippet.textOriginal chứa văn bản bình luận. Thuộc tính snippet.parentId xác định bình luận liên kết với phản hồi và giá trị của thuộc tính này là commentThread resource's ID. Bạn phải uỷ quyền cho yêu cầu này bằng OAuth 2.0.

Yêu cầu mẫu sau đây sẽ thêm một câu trả lời vào một bình luận hiện có.

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

Yêu cầu này chèn tài nguyên như dưới đây. Để thực thi yêu cầu trong APIs Explorer, hãy sử dụng giá trị của thuộc tính snippet.parentId để xác định bình luận cấp cao nhất liên kết với câu trả lời. Trong tài nguyên commentThread, thuộc tính snippet.topLevelComment[].id chỉ định mã nhận dạng duy nhất của tài nguyên.

{
  "snippet": {
    "parentId": "COMMENT_THREAD_ID",
    "textOriginal": "That is true."
  }
}

Chỉnh sửa bình luận cấp cao nhất hoặc câu trả lời cho bình luận

Để cập nhật văn bản của một bình luận cấp cao nhất hoặc một câu trả lời cho bình luận cấp cao nhất, hãy gọi phương thức comments.update. Đặt giá trị của tham số part thành snippet. Trong phần nội dung yêu cầu, thuộc tính id xác định bình luận mà bạn đang sửa đổi và văn bản bình luận mới.

  • Trong tài nguyên commentThread (xác định một bình luận cấp cao nhất), thuộc tính snippet.topLevelComment[].id chỉ định mã nhận dạng duy nhất của bình luận.
  • Trong tài nguyên comment (có thể xác định một bình luận cấp cao nhất hoặc một câu trả lời cho bình luận), thuộc tính id chỉ định mã nhận dạng duy nhất của bình luận.

Yêu cầu mẫu dưới đây cập nhật văn bản của một bình luận hiện có.

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

Nội dung yêu cầu chứa đoạn mã JSON như dưới đây. Để thực thi yêu cầu trong APIs Explorer, hãy đặt giá trị của thuộc tính id để xác định bình luận mà bạn đang cập nhật. Yêu cầu phải được tác giả của bình luận cho phép.

{
  "id": "COMMENT_ID",
  "snippet": {
    "textOriginal": "That is true."
  }
}

Đặt trạng thái kiểm duyệt của bình luận

Để đặt trạng thái kiểm duyệt của một bình luận, hãy gọi phương thức comments.setModerationStatus. Hành động này được dùng khi chủ sở hữu kênh kiểm duyệt bình luận trên kênh hoặc trên video của kênh.

Khi gọi phương thức này, hãy đặt giá trị của tham số id để xác định bình luận. Ngoài ra, hãy đặt tham số moderationStatus thành trạng thái mong muốn. Chỉ chủ sở hữu kênh nơi bình luận xuất hiện mới có thể điều chỉnh trạng thái của bình luận.

  • Bước 1: Truy xuất những bình luận đang bị giữ lại để xem xét

    Gọi phương thức commentThreads.list để truy xuất bình luận cho kênh hoặc video. Đặt giá trị của tham số moderationStatus thành heldForReview. Phản hồi của API có thể dùng để hiển thị danh sách bình luận, trong đó chủ sở hữu kênh có thể chọn xuất bản hoặc từ chối từng bình luận.

  • Bước 2: Cập nhật trạng thái kiểm duyệt của một bình luận

    Gọi phương thức comments.setModerationStatus để cập nhật trạng thái của bình luận. Sử dụng giá trị của tham số id để chỉ định mã nhận dạng duy nhất của bình luận. Đặt tham số moderationStatus thành published hoặc rejected. Nếu từ chối một bình luận, bạn cũng có thể đặt tham số banAuthor thành true để ngăn tác giả bình luận thêm trên kênh hoặc video.

Lưu ý: API không cung cấp cách liệt kê hoặc khám phá các bình luận bị từ chối. Tuy nhiên, bạn vẫn có thể thay đổi trạng thái kiểm duyệt của một bình luận bị từ chối thành published nếu biết mã nhận dạng duy nhất của bình luận đó. Ngoài ra, sau khi trạng thái kiểm duyệt của một bình luận được cập nhật thành published hoặc rejected, bạn không thể thay đổi trạng thái kiểm duyệt đó thành heldForReview nữa.

Xoá bình luận

Ví dụ này minh hoạ cách xoá một bình luận. Ví dụ này có các bước sau:

  • Bước 1: Truy xuất mã bình luận

    Làm theo các bước ở trên để truy xuất danh sách bình luận cho một video hoặc kênh. Xin lưu ý rằng chỉ tác giả mới có thể xoá bình luận. Vì vậy, bạn cần so sánh giá trị của thuộc tính snippet.authorChannelId.value trong tài nguyên comment với mã nhận dạng kênh của người dùng đã xác thực để xác định xem người dùng có thể xoá bình luận cụ thể đó hay không.

  • Bước 2: Xoá nhận xét hoặc chuỗi nhận xét

    Sau khi xác định được mã nhận dạng của chuỗi nhận xét hoặc bình luận mà bạn đang xoá, hãy gọi phương thức comments.delete để xoá bình luận đó. Sử dụng giá trị tham số id để xác định mã nhận dạng bình luận hoặc mã nhận dạng chuỗi nhận xét mà bạn đang xoá. Yêu cầu phải được uỷ quyền bằng OAuth 2.0. Nếu đang thử nghiệm truy vấn này trong APIs Explorer, bạn cần thay thế giá trị tham số id bằng một mã nhận xét hoặc mã chuỗi nhận xét hợp lệ trong yêu cầu bên dưới.

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