Cách triển khai: Nhận xét

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

Các ví dụ sau đây minh hoạ cách sử dụng YouTube Data API (v3) để thực hiện các chức năng liên quan đến bình luận.

Truy xuất nhận xét cho video

Để truy xuất danh sách các chuỗi nhận xét của một video, hãy gọi phương thức commentThreads.list. Đặt các giá trị thông 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 các nhận xét cấp cao nhất hoặc thành snippet,replies nếu bạn cũng muốn truy xuất câu trả lời cho các nhận xét cấp cao nhất. (Hãy lưu ý rằng tài nguyên commentThread không nhất thiết chứa tất cả phản hồi cho một bình luận, nê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ể.)

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

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

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

Truy xuất nhận xét về hoặc được liên kết với kênh

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

Yêu cầu bên dưới truy xuất tất cả các chuỗi nhận xét liên kết với kênh YouTube Google Developers:

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 nhận xét mới ở cấp cao nhất vào kênh hoặc video. Đặt giá trị tham số part của yêu cầu thành snippet. Phần nội dung của yêu cầu là một commentThread resource, trong đó thuộc tính snippet.topLevelComment[].snippet[].textOriginal chứa văn bản nhận xét. 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 dùng thuộc tính snippet.channelId để xác định kênh đó.
  • Để thêm một bình luận vào video, hãy dùng thuộc tính snippet.channelId để xác định kênh đã tải video lên. Ngoài ra, hãy dùng thuộc tính snippet.videoId để xác định video.

Yêu cầu mẫu sau đây thêm nhận xét vào video.

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

Yêu cầu sẽ chèn tài nguyên như minh hoạ bên dưới.

{
 "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 nhận xét. Đặt giá trị tham số part của yêu cầu thành snippet. Phần nội dung của yêu cầu là một comment resource, trong đó thuộc tính snippet.textOriginal chứa văn bản nhận xét. 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. Yêu cầu này phải được uỷ quyền bằng OAuth 2.0.

Yêu cầu mẫu sau đây thêm câu trả lời cho một nhận xét hiện có.

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

Yêu cầu sẽ chèn tài nguyên như minh hoạ bên dưới. Để thực thi yêu cầu trong APIs Explorer, hãy 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."
  }
}

Cập nhật bình luận hoặc phản hồi bình luận ở cấp cao nhất

Để cập nhật nội dung của một nhận xét ở cấp cao nhất hoặc một câu trả lời cho một nhận xét ở 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 nội dung yêu cầu, thuộc tính id xác định nhận xét mà bạn đang sửa đổi và văn bản nhận xét mới.

  • Trong một tài nguyên commentThread giúp 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 một tài nguyên comment có thể xác định bình luận cấp cao nhất hoặc phản hồi cho một 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 nội dung của nhận xét 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 nhận xét mà bạn đang cập nhật. Yêu cầu này phải được tác giả của nhận xét uỷ quyền.

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

Thiết lập trạng thái kiểm duyệt cho bình luận

Để đặt trạng thái kiểm duyệt của bình luận, hãy gọi phương thức comments.setModerationStatus. Thao tác này được sử dụng khi chủ sở hữu kênh kiểm duyệt các bình luận trên kênh hoặc 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 nhận xét. Đồng thời, hãy đặt tham số moderationStatus thành trạng thái mong muốn. Chỉ chủ sở hữu kênh có bình luậ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 được 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 các bình luận kèm theo lựa chọn cho phép chủ sở hữu kênh 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 bình luận

    Gọi phương thức comments.setModerationStatus để cập nhật trạng thái của nhận xét. Hãy dùng giá trị của tham số id để chỉ định mã nhận dạng duy nhất của nhận xét. Đặ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 trên kênh hoặc video.

Lưu ý: API không cung cấp cách liệt kê hoặc phát hiện 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 cập nhật trạng thái kiểm duyệt thành published hoặc rejected, bạn sẽ không thể chuyển lại trạng thái kiểm duyệt thành heldForReview.

Xoá bình luận

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

  • Bước 1: Truy xuất mã nhận xét

    Hãy 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. Hãy nhớ 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ị thuộc tính snippet.authorChannelId.value của 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 đó hay không.

  • Bước 2: Xoá bình luận hoặc chuỗi bình luận

    Sau khi đã xác định được mã nhận dạng của chuỗi nhận xét hoặc nhận xét mà bạn muốn xoá, hãy gọi phương thức comments.delete để xoá nhận xét đó. Hãy dùng giá trị tham số id để xác định mã nhận xét hoặc mã chuỗi nhận xét mà bạn muốn 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 APIs Explorer, bạn sẽ cần thay thế một mã nhận xét hoặc mã chuỗi nhận xét hợp lệ cho giá trị tham số id trong yêu cầu ở bên dưới.

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