<aside> ⚠️

이 문서는 GoogleAPI를 직접 사용하지 않습니다.

댓글 삭제하려고 시도하였으나 타인의 댓글은 절대 삭제 불가입니다.

</aside>

<aside> 📈

StackOverflow를 뒤진 결과 “검토중” 또는 “반려됨”으로 변경하는 방법이 있습니다!

</aside>

여기에 어떻게 댓글을 관리할 수 있는지가 적혀있습니다. 공식 문서를 참고합시다!

https://developers.google.com/youtube/v3/guides/implementation/comments?hl=ko

  1. 시도 사항

    https://developers.google.com/youtube/v3/docs/comments/delete?hl=ko

    내 댓글은 삭제가 잘 되는데 타인의 댓글은 삭제되지 않는다.

  2. 대안 - Youtube Studio에서 직접 검색 후 삭제

    그나마 나은 방법이다.

    https://studio.youtube.com/video/[VIDEO_ID]/comments/inbox?filter=%5B%5D 이 경로로 redirect 시켜 삭제하게 하는 방법밖에 없다.

    PARAM

    VIDEO_ID: 해당 댓글이 있는 동영상 ID
    

    QUERY

  3. 스택오버플로우에서 얻은 다른 가능성

    https://developers.google.com/youtube/v3/docs/comments/setModerationStatus?hl=ko

    검토 중이나 거부함으로 댓글을 숨기거나 아예 지우는 방법이 가능하다!

    댓글을 작성한 계정으로는 잘 보이지만

    댓글을 작성한 계정으로는 잘 보이지만

    다른 계정으로는 보이지 않는다.

    다른 계정으로는 보이지 않는다.

한번 ban한 계정의 댓글은 다시 보이지 않으니 주의… + 계정을 ban할 경우 모든 댓글이 삭제되니 이 또한 주의!

이때 해당 채널에 작성된 해당 유저의 모든 댓글이 삭제된다. 정확히는 숨김처리 되는 방식.

할당량 50, 한번 요청 시 사라지는 댓글들 (확인된 것은) 103개. URL 길이에만 걸리지 않는다면 크게 문제 없다고 본다.

URL의 최대 길이는 2083자라고 하니, 이를 바탕으로 계산을 해보자.

base URL의 길이는 139, id= 는 3의 길이, 그러면 남은 길이는 1941자

댓글의 id의 길이는 26, (UgzFt7qpK_j0fZz6OZ14AaABAg) 콤마를 넣으면 27자

최신 브라우저는 대략 8000자가 제한으로 간주

<aside> ⚙

Request

</aside>

URL: <https://youtube.googleapis.com/youtube/v3/comments/setModerationStatus>
METHOD: POST
HEADERS:
	- Authorization: Bearer [ACCESS_TOKEN]
	- Accept: application/json
QUERIES: 
	- key: [MY_API_KEY]
	- id: [콤마로 구분된 댓글 ID]
	- moderationStatus: heldForReview/published/rejected
			heldForReview: 검토 대기로 전환
			published: 공개 표시
			rejected: 댓글 거부, 즉 댓글 삭제와 유사하게 동작
	- banAuthor?: boolean
			rejected + true => 해당 댓글을 삭제하면서 영상에서 해당 유저가 작성한 댓글 숨김

<aside> ⚙

Response

</aside>

code: 204