<aside> ⚠️
이 문서는 GoogleAPI를 직접 사용하지 않습니다.
댓글 삭제하려고 시도하였으나 타인의 댓글은 절대 삭제 불가입니다.
</aside>
<aside> 📈
StackOverflow를 뒤진 결과 “검토중” 또는 “반려됨”으로 변경하는 방법이 있습니다!
</aside>
여기에 어떻게 댓글을 관리할 수 있는지가 적혀있습니다. 공식 문서를 참고합시다!
https://developers.google.com/youtube/v3/guides/implementation/comments?hl=ko
시도 사항
https://developers.google.com/youtube/v3/docs/comments/delete?hl=ko
내 댓글은 삭제가 잘 되는데 타인의 댓글은 삭제되지 않는다.
대안 - Youtube Studio에서 직접 검색 후 삭제
그나마 나은 방법이다.
https://studio.youtube.com/video/[VIDEO_ID]/comments/inbox?filter=%5B%5D
이 경로로 redirect 시켜 삭제하게 하는 방법밖에 없다.
PARAM
VIDEO_ID: 해당 댓글이 있는 동영상 ID
QUERY
filter
아래의 데이터를 URL 인코딩한 결과
사용자 이름으로 검색도 해보려고 했으나, 댓글 내용만 검색 지원
filter=[
{
"name":"CONTENT",
"value":{
"name":"FOR",
"value":"testingasdfqwer"
}
}
]
스택오버플로우에서 얻은 다른 가능성
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