안경잡이개발자

728x90
반응형

  필자의 경우 최근에 유튜브 채널에서 광고성 댓글 테러를 당했다. 수천 개의 광고성 댓글이 모든 영상에 걸쳐 달리게 된 것이다. 따라서 자동화 프로그램을 만들어 광고성 댓글을 스팸 댓글로 처리하고자 한다. 기본적으로 YouTube API는 국르 클라우드 플랫폼(Google Cloud Platform)을 이용하여 다룰 수 있다.

 

  광고성 댓글로는 다음과 같은 것들이 있다. 상당히 스트레스다.

 

 

구글 클라우드 플랫폼(Google Cloud Platform)에서 새 프로젝트 만들기

 

  구글 클라우드 플랫폼 링크: console.cloud.google.com/

 

  YouTube Data API를 사용하기 위해 가장 먼저 구글 클라우드 플랫폼에서 새 프로젝트를 생성해 보자.

 

 

▶ YouTube DATA API v3 사용 설정하기

 

  구글 클라우드 플랫폼은 매우 많은 수의 API를 제공한다. 따라서 프로젝트를 생성한 이후에는 YouTube Data API를 검색하여 이를 [사용] 설정할 필요가 있다.

 

 

▶ 사용자 인증 정보 만들기

 

  파이썬(Python) 등의 프로그램 환경에서 API를 호출해 사용하기 위해서는 사용자 인증을 수행해야 한다. 따라서 [사용자 인증 정보 만들기] 버튼을 눌러 인증 정보를 만들어 보자.

 

 

  다음과 같이 사용자 인증 정보를 추가할 수 있다. 필자의 경우 파이썬(Python) 프로그램으로 API를 호출할 것이다. 따라서 [기타 UI]를 선택한 뒤에 액세스할 데이터로는 [사용자 데이터]를 선택한다. 즉 파이썬 프로그램을 사용하는 사용자가 먼저 인증을 수행하고, 파이썬 프로그램은 액세스 토큰(access token)을 얻어 해당 사용자의 유튜브 채널 데이터를 처리할 수 있게 된다.

 

 

▶ OAuth 동의 화면 설정

 

  이어서 자신이 작성할 프로그램에서 특정한 사용자의 데이터에 접근하는 것이므로, 그 사용자(client)에게 권한을 요청하는 동의 화면을 만들어야 한다. 흔히 [구글 계정으로 로그인]과 같은 기능에서 동의 화면이 나오는 것을 떠올리면 된다.

 

 

   동의 화면 설정을 할 때는 사용자(user) 타입을 설정할 수 있는데, 필자의 경우 스스로 개인 유튜브 채널의 댓글을 관리하기 위해 사용할 것이다. 그래도 [외부]를 선택하는데, 필자의 경우 G Suite 사용자가 아니기 때문이다.

 

 

  이제 OAuth 동의 화면에 대한 설정을 진행하자.

 

 

  이제 권한을 요청할 범위를 선택한다. 필자는 유튜버의 댓글에 접근(access)할 필요가 있다. 따라서 [범위 추가 또는 삭제] 버튼을 눌러 범위를 설정할 수 있도록 한다.

 

 

  유튜브 채널 댓글 관리를 위해 YouTube Data API에서 YouTube 댓글 관련 범위를 선택한다. 구체적으로 youtube.force-ssl을 이용하면 된다.

 

 

  테스트 사용자의 경우 혼자 사용하고 테스트할 것이므로 나 자신을 추가한다. [ADD USERS]를 누른 뒤에 구글 이메일을 입력하고 저장하면 된다.

 

 

클라이언트 ID 생성 및 사용자 인증 정보 다운로드 

 

  이제 실질적으로 OAuth 2.0 클라이언트를 생성한다.

 

 

  이제 [다운로드] 버튼을 눌러 생성된 사용자 인증 정보를 다운로드한다.

 

 

  참고로 여기에서 OAuth 2.0 클라이언트(client)란 개발자가 작성한 소프트웨어를 말한다. 파이썬으로 동작하는 프로그램이 있을 때, 이 프로그램은 '자원 소유자(resource owner) = 유튜버'의 자원에 접근하기 위해 구글 서버(server)에 요청을 보내는 클라이언트라고 볼 수 있기 때문이다.

 

▶ Client Secret 다운로드

 

  결과적으로 Client Secret 파일을 다운로드하면 된다. 이는 개발자를 위한 .json 환경 설정 파일이다. 자신이 작성한 프로그램에서 OAuth 2.0 기능을 사용한다면, 이러한 .json 파일을 이용해 구글 API 서버에 접근할 수 있는 것이다. 당연히 다른 사람에게 유출되지 않도록 조심히 다루어야 한다.

 

 

▶ 소스코드 작성을 위해 참고할 문서

 

  1. YouTube Data API 댓글(comment) 문서 링크: developers.google.com/youtube/v3/docs/comments

 

  가장 좋은 것은 일단 공식 문서를 읽어보는 것이다. 상당히 내용이 잘 정리되어 있다. 특히 [Try this API] 창을 이용하여 API를 이용해 볼 수 있다. 예를 들어 댓글을 관리하기 위한 API 중 하나인 setModerationStatus()를 이용한다고 해보자. 이때 댓글 ID를 설정한 뒤에, 해당 댓글을 작성한 사람을 차단(ban)하는 등의 작업이 가능하다.

 

 

  참고로 [SHOW CODE] 버튼을 누르면 해당 API를 특정 프로그래밍 언어로 어떻게 이용할 수 있는지 자세한 코드 정보가 같이 나온다.

 

 

  2. YouTube 파이썬 API 공식 코드: github.com/youtube/api-samples/tree/master/python

 

  파이썬 사용자를 위한 YouTube Data API의 공식 코드를 확인할 수 있다. 예를 들어 API를 이용해 댓글을 관리하고자 할 때는 [Create and manage comments] 링크에 들어가 예제를 확인해 볼 수 있다.

 

 

▶ 소스코드 작성하기

 

  아래 깃허브에 필자가 작성한 코드 예시가 있다. 자신의 필요에 따라서 코드를 변경하여 사용하면 된다.

 

  github.com/ndb796/Management-Programs-for-YouTuber

728x90
반응형