구현: 의견

comments.markAsSpam 메서드는 더 이상 지원되지 않습니다.

다음 예는 YouTube Data API (v3)를 사용하여 댓글과 관련된 기능을 수행하는 방법을 보여줍니다.

동영상에 대한 댓글 검색

동영상의 댓글 스레드 목록을 가져오려면 commentThreads.list 메서드를 호출합니다. 요청에 다음 매개변수 값을 설정합니다.

  • part: 최상위 댓글만 검색하려면 매개변수 값을 snippet로 설정하고 최상위 댓글에 대한 답글도 검색하려면 snippet,replies로 설정합니다. (commentThread 리소스에 꼭 댓글에 대한 모든 답글을 포함할 필요는 없으며, 특정 댓글에 대한 모든 답글을 검색하려면 comments.list 메서드를 사용해야 합니다.)

  • videoId: 댓글을 검색할 동영상의 YouTube 동영상 ID를 지정합니다.

아래 요청은 동영상 ID가 wtLJPvx7-ys인 2014 Google I/O 컨퍼런스의 기조연설 연설 동영상과 관련된 댓글 및 댓글 답글을 검색합니다.

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

채널에 대한 댓글 또는 연결된 채널 댓글 검색

API는 채널에 대한 댓글 스레드를 검색하거나 채널과 연결된 모든 댓글 스레드를 검색하는 기능을 지원합니다. 후자의 경우 API에 채널이나 채널의 동영상에 대한 댓글이 포함될 수 있습니다.

  • 채널에 대한 댓글을 검색하려면 동영상 댓글 가져오기에 대한 안내를 따르세요. 그러나 videoId 매개변수를 설정하는 대신 채널을 식별하기 위한 channelId 매개변수를 설정합니다.

  • 채널과 연결된 댓글을 검색하려면 동영상 댓글 가져오기에 대한 안내를 따르세요. 그러나 videoId 매개변수를 설정하는 대신 채널을 식별하기 위한 allThreadsRelatedToChannelId 매개변수를 설정합니다.

아래 요청은 GoogleDevelopers YouTube 채널과 관련된 모든 댓글 대화목록을 검색합니다.

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

의견 추가

commentThreads.insert 메서드를 호출하여 채널이나 동영상에 새로운 최상위 댓글을 추가합니다. 요청의 part 매개변수 값을 snippet로 설정합니다. 요청 본문은 snippet.topLevelComment[].snippet[].textOriginal 속성에 주석 텍스트가 포함된 commentThread resource입니다. 이 요청은 OAuth 2.0을 사용하여 승인되어야 합니다.

  • 채널에 댓글을 추가하려면 snippet.channelId 속성을 사용하여 채널을 식별합니다.
  • 동영상에 댓글을 추가하려면 snippet.channelId 속성을 사용하여 동영상을 업로드한 채널을 식별합니다. 또한 snippet.videoId 속성을 사용하여 동영상을 식별합니다.

다음 샘플 요청은 동영상에 댓글을 추가합니다.

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

이 요청은 아래에 표시된 리소스를 삽입합니다.

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

댓글에 답글 달기

comments.insert 메서드를 호출하여 댓글에 응답합니다. 요청의 part 매개변수 값을 snippet로 설정합니다. 요청 본문은 snippet.textOriginal 속성에 주석 텍스트가 포함된 comment resource입니다. snippet.parentId 속성은 답글과 연결된 댓글을 식별하며 값은 commentThread resource's ID입니다. 이 요청은 OAuth 2.0을 사용하여 승인되어야 합니다.

다음 샘플 요청은 기존 댓글에 답글을 추가합니다.

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

이 요청은 아래에 표시된 리소스를 삽입합니다. API 탐색기에서 요청을 실행하려면 snippet.parentId 속성의 값을 사용하여 응답과 연결된 최상위 댓글을 식별합니다. commentThread 리소스에서 snippet.topLevelComment[].id 속성은 리소스의 고유 ID를 지정합니다.

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

최상위 댓글 또는 댓글 답글 업데이트

최상위 댓글 텍스트 또는 최상위 댓글에 대한 답글을 업데이트하려면 comments.update 메서드를 호출합니다. part 매개변수의 값을 snippet로 설정합니다. 요청 본문에서 id 속성은 수정 중인 댓글과 새 댓글 텍스트를 식별합니다.

  • 최상위 댓글을 식별하는 commentThread 리소스에서 snippet.topLevelComment[].id 속성은 댓글의 고유 ID를 지정합니다.
  • 최상위 댓글이나 댓글에 대한 답글을 식별할 수 있는 comment 리소스에서 id 속성은 댓글의 고유 ID를 지정합니다.

아래의 샘플 요청은 기존 댓글의 텍스트를 업데이트합니다.

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

요청 본문에는 아래와 같은 JSON 스니펫이 포함됩니다. API 탐색기에서 요청을 실행하려면 id 속성의 값을 설정하여 업데이트할 주석을 식별합니다. 댓글 작성자가 요청을 승인해야 합니다.

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

댓글 검토 상태 설정하기

댓글의 검토 상태를 설정하려면 comments.setModerationStatus 메서드를 호출합니다. 이 작업은 채널 소유자가 채널 또는 채널 동영상의 댓글을 검토할 때 사용됩니다.

이 메서드를 호출할 때 댓글을 식별할 수 있도록 id 매개변수의 값을 설정합니다. 또한 moderationStatus 매개변수를 원하는 상태로 설정합니다. 댓글 상태는 댓글이 표시된 채널의 소유자만 조정할 수 있습니다.

  • 1단계: 검토 대기 중인 댓글 가져오기

    commentThreads.list 메서드를 호출하여 채널 또는 동영상의 댓글을 검색합니다. moderationStatus 매개변수의 값을 heldForReview로 설정합니다. API 응답은 채널 소유자가 각 댓글을 게시하거나 거부할 수 있는 옵션과 함께 댓글 목록을 표시하는 데 사용될 수 있습니다.

  • 2단계: 댓글의 검토 상태 업데이트하기

    comments.setModerationStatus 메서드를 호출하여 댓글 상태를 업데이트합니다. id 매개변수의 값을 사용하여 댓글의 고유 ID를 지정합니다. moderationStatus 매개변수를 published 또는 rejected로 설정합니다. 댓글을 거부하는 경우 banAuthor 매개변수를 true로 설정하여 작성자가 채널이나 동영상에 추가 댓글을 달지 못하도록 할 수 있습니다.

참고: API는 거부된 댓글을 나열하거나 다른 방식으로 검색하는 방법을 제공하지 않습니다. 하지만 댓글의 고유 ID를 알고 있는 경우에는 거부된 댓글의 검토 상태를 published로 변경할 수 있습니다. 또한 댓글의 검토 상태가 published 또는 rejected로 업데이트되고 나면 검토 상태를 다시 heldForReview(으)로 변경할 수 없습니다.

댓글 삭제

이 예에서는 댓글을 삭제하는 방법을 보여줍니다. 이 예시의 단계는 다음과 같습니다.

  • 1단계: 댓글 ID 검색하기

    위 단계에 따라 동영상 또는 채널의 댓글 목록을 가져옵니다. 댓글은 작성자만 삭제할 수 있으므로 comment 리소스의 snippet.authorChannelId.value 속성 값을 인증된 사용자의 채널 ID와 비교하여 사용자가 특정 댓글을 삭제할 수 있는지 확인해야 합니다.

  • 2단계: 댓글 또는 댓글 대화목록 삭제하기

    삭제하려는 댓글 대화목록 또는 댓글의 ID를 확인했으면 comments.delete 메서드를 호출하여 댓글을 삭제합니다. id 매개변수 값을 사용하여 삭제하려는 댓글 ID 또는 댓글 대화목록 ID를 식별합니다. OAuth 2.0을 사용하여 요청을 승인해야 합니다. API 탐색기에서 이 쿼리를 테스트하는 경우 아래 요청의 id 매개변수 값을 유효한 댓글 ID 또는 댓글 스레드 ID로 대체해야 합니다.

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