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 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 bình luận.

Truy xuất bình luận cho một video

Để truy xuất danh sách chuỗi bình luận của một video, hãy gọi phương thức commentThreads.list. Đặt các giá trị tham số sau 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 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 các câu trả lời cho bình luận cấp cao nhất. (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ã 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 các bình luận và phản hồi bình luận liên quan đến video bài phát biểu chính tại hội nghị Google I/O 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ợ việc truy xuất chuỗi bình luận về một kênh hoặc truy xuất tất cả chuỗi bình luận liên kết với một kênh. Trong trường hợp sau, API có thể chứa các bình luận 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ả 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 cấp cao nhất mới 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 của yêu cầu là commentThread resource, trong đó thuộc tính snippet.topLevelComment[].snippet[].textOriginal chứa văn bản nhận xét. Bạn phải uỷ quyền cho yêu cầu này 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 sẽ thêm bình luận vào một video.

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

Yêu cầu này sẽ 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 của yêu cầu là 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 được liên kết với thư trả lờ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 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 này sẽ chèn tài nguyên như dưới đây. Để thực thi yêu cầu trong Trình khám phá API, 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 thư 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 cấp cao nhất hoặc bình luận trả lời

Để cập nhật văn bản 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 phần 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 tài nguyên commentThread xác định một nhận xét cấp cao nhất, thuộc tính snippet.topLevelComment[].id chỉ định mã nhận dạng duy nhất của nhận xét.
  • 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 phản hồi bình luận, thuộc tính id sẽ chỉ định mã nhận dạng duy nhất của bình luận.

Yêu cầu mẫu bên dưới sẽ 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ư bên dưới. Để thực thi yêu cầu trong Trình khám phá API, 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 bình luận uỷ quyền.

{
  "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 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. 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 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 các 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. Nội dung phản hồi của API có thể được dùng để hiển thị danh sách nhận xét, trong đó chủ sở hữu kênh có thể chọn xuất bản hoặc từ chối từng nhận xét.

  • 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 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ả đăng thêm 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 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 sẽ không thể thay đổi trạng thái kiểm duyệt đó về heldForReview.

Xoá bình luận

Ví dụ này cho biết 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ã nhận xét

    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ả của bình luận 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 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 cụ thể đó 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 đang xoá, hãy gọi phương thức comments.delete để xoá nhận xét đó. 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 bình luận 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ã nhận dạng bình luận hoặc mã nhận dạng chuỗi bình luận 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