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로 설정합니다. 요청 본문은 commentThread resource이며 snippet.topLevelComment[].snippet[].textOriginal 속성에 주석 텍스트가 포함됩니다. 이 요청은 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로 설정합니다. 요청 본문은 comment resource이며 snippet.textOriginal 속성에 주석 텍스트가 포함됩니다. 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