사용방법 : https://developers.google.com/youtube/v3/code_samples/python?hl=ko



유투브 api 깃허브 : https://github.com/youtube/api-samples



python search.py --q=surfing --max-results=10




선결 요건

  • Python 2.6 이상

  • pip 패키지 관리 도구

  • Python 용 Google API 클라이언트 라이브러리 :

    pip install --upgrade google-api-python-client
    
  • 사용자 인증을 위해 google-auth, google-auth-oauthlib 및 google-auth-httplib2

    pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
    

프로젝트 설정 및 코드 샘플 실행

  1. API 콘솔에서 프로젝트를 만들고 웹 응용 프로그램의 자격 증명을 설정합니다. 승인 된 리디렉션 URI를 적절하게 설정하십시오.

  2. 자격 증명과 관련된 client_secrets.json 파일을 로컬 파일에 저장하십시오.

  3. 전체 코드 샘플을 client_secrets.json 파일과 동일한 디렉토리의 로컬 파일에 복사하거나 샘플을 수정하여 해당 파일의 위치를 ​​정확하게 식별하십시오.

  4. 명령 행에서 샘플을 실행하고 필요에 따라 명령 행 인수를 설정하십시오.

    python sample.py --arg1=value1 --arg2=value2 ...

  5. 대부분의 샘플은 STDOUT에 무언가를 인쇄합니다. YouTube 웹 사이트에서 재생 목록이나 채널 섹션을 생성하는 요청과 같이 데이터를 쓰는 요청의 효과를 확인할 수도 있습니다.

이 디렉토리의 샘플 :

채널 섹션 추가

메서드 : youtube.channelSections.insert 
설명 :이 샘플은 API의 channelSections.insert메서드를 호출하여 채널 섹션을 만듭니다. 이 코드는 섹션의 유형, 표시 스타일, 제목, 위치 및 내용을 지정할 수있는 여러 명령 행 인수를 허용합니다. 

또한이 샘플은 채널 brandingSettings.channel.showBrowseView 이 피드보기가 아닌 탐색보기에서 내용을 표시하도록 채널 속성을 업데이트합니다 채널의 섹션은 채널이 탐색보기의 내용을 표시하는 경우에만 표시됩니다. 

채널 섹션에 대한 자세한 내용은 YouTube 도움말 센터를 참조하십시오 .

채널 구독 추가

메서드 : youtube.subscriptions.insert 
설명 :이 샘플은 API의 subscriptions.insert메서드를 호출하여 지정된 채널에 구독을 추가합니다.

추천 동영상 추가

메서드 : youtube.channels.update 
설명 :이 샘플은 API의 channels.update메서드를 호출 invideoPromotion 하여 채널의 속성 을 설정 합니다.

재생 목록 만들기

메서드 : youtube.playlists.insert 
설명 :이 샘플은 API의 playlists.insert메서드를 호출 하여 요청을 허가 한 채널이 소유 한 비공개 재생 목록을 만듭니다.

주석 작성 및 관리

방법 : youtube.commentThreads.list, youtube.comments.insert, youtube.comments.list, youtube.comments.update, youtube.comments.setModerationStatus, youtube.comments.markAsSpam, youtube.comments.delete 
설명 :이 샘플에서는 다음 API 메소드를 사용하여 주석을 작성하고 관리하십시오.

  • 이 commentThreads.list메소드는 videoId매개 변수가 설정된 메소드를 호출하여 비디오에 대한 주석을 검색합니다.
  • 매개 변수가 설정된 comments.insert메소드를 호출하여 parentId기존 주석에 응답합니다.
  • 이 comments.list메소드는 parentId매개 변수 와 함께 메소드를 호출하여 스레드의 주석을 검색합니다.
  • comments.update요청 본문에 주석이 있는 메소드를 호출하여 주석을 업데이트합니다.
  • comments.setModerationStatus메소드를 호출하여 주석의 검토 상태 comments.markAsSpam, 주석을 스팸으로 표시하는 comments.delete메소드 및 주석을 삭제하는 메소드를 id호출 하여 매개 변수를 사용하여 주석을 식별합니다.

댓글 쓰레드 생성 및 관리

메소드 : youtube.commentThreads.insert, youtube.commentThreads.list, youtube.commentThreads.update 
설명 :이 샘플은 다음 API 메소드를 사용하여 최상위 레벨 주석을 작성하고 관리하는 방법을 보여줍니다.

  • 이 commentThreads.insert메서드는 channelId매개 변수를 사용 하여 메서드를 한 번 호출하여 채널 주석을 만들고 매개 변수를 사용하여 한 번 videoId비디오 주석을 만듭니다.
  • 이 commentThreads.list메서드는 channelId매개 변수를 사용 하여 메서드를 한 번 호출하여 채널 주석 videoId을 검색 하고 매개 변수를 사용하여 비디오 주석을 검색합니다.
  • commentThreads.update메서드를 호출하여 비디오 주석을 업데이트 한 다음 채널 주석을 다시 업데이트합니다. 각 경우에 요청 본문에는 comment업데이트 되는 리소스가 포함됩니다.

YouTube 동영상 캡션 트랙 만들기 및 관리

메소드 : youtube.captions.insert, youtube.captions.list, youtube.captions.update, youtube.captions.download, youtube.captions.delete 
설명 :이 샘플은 다음 API 메소드를 사용하여 YouTube 비디오 캡션을 만들고 관리하는 방법을 보여줍니다. 트랙 :

  • 매개 변수가로 설정된 captions.insert메소드를 호출하여 초안 상태의 캡션 트랙을 업로드합니다.isDrafttrue
  • 이 captions.list메소드는 videoId매개 변수 가있는 메소드를 호출하여 비디오 자막 트랙을 검색합니다.
  • captions.update요청 본문의 캡션이 있는 메서드를 호출하여 캡션 트랙을 업데이트합니다.
  • captions.download자막 트랙을 다운로드 하는 메서드를 호출합니다 .
  • 이 captions.delete메서드는 id매개 변수를 사용하여 캡션 트랙을 식별 하는 메서드를 호출하여 캡션 트랙을 삭제합니다 .

비디오처럼

메소드 : youtube.videos.rate 
설명 :이 샘플은 API의 videos.rate메소드를 호출하여 동영상의 긍정적 인 등급을 설정합니다.

채널 게시판 게시

메서드 : youtube.activities.insert 
설명 :이 샘플에서는 API의 activities.insert메서드를 호출 하여 요청과 연결된 채널에 게시판을 게시합니다.

채널에서 워터 마크 이미지 제거

메서드 : youtube.watermarks.unset 
설명 :이 샘플은 API의 watermarks.unset메서드를 호출하여 채널의 워터 마크 이미지를 제거합니다. 요청은 동영상을 소유 한 채널에 의해 승인되어야합니다.

내 업로드 검색

메서드 : youtube.playlistItems.list 
설명 :이 샘플에서는 API의 playlistItems.list메서드를 호출 하여 요청과 연결된 채널에 업로드 된 동영상 목록을 검색합니다. 또한 코드는 매개 변수가로 설정된 channels.list메소드를 호출 하여 채널의 업로드 된 동영상을 식별하는 재생 목록 ID를 검색합니다.minetrue

키워드 검색

메서드 : youtube.search.list 
설명 :이 샘플에서는 API의 search.list메서드를 호출하여 특정 키워드와 관련된 검색 결과를 검색합니다.

위치 검색

방법 : youtube.search.list, youtube.videos.list 
설명 :이 샘플은 API의 호출 search.list와 방법을 typeqlocation, 및 locationRadius특정 위치를 중심으로 반경 내에서 제공되는 키워드와 일치하는 검색 결과를 검색 매개 변수를 설정합니다. 샘플은 검색 결과의 동영상 ID를 사용하여 API의 videos.list메소드를 호출하여 각 동영상의 위치 세부 정보를 검색합니다.

지역화 된 채널 메타 데이터 설정 및 검색

메소드 : youtube.channels.update, youtube.channels.list 
설명 :이 샘플은 다음 API 메소드를 사용하여 채널의 지역화 된 메타 데이터를 설정하고 검색하는 방법을 보여줍니다.

  • channels.update메소드를 호출하여 채널 메타 데이터의 기본 언어를 업데이트하고이 언어의 현지화 된 버전을 선택한 언어로 추가합니다. 채널 리소스의 기본 언어를 설정하려면 실제로 brandingSettings.channel.defaultLanguage속성 을 업데이트해야 합니다.
  • 특정 언어로 설정된 매개 변수를 사용 하여 channels.list메서드를 호출하여 hl해당 언어의 지역화 된 메타 데이터를 검색합니다.
  • 그것은 호출 channels.list방법 및 포함 localizations에서 part 해당 채널에 대한 국부 모든 메타 데이터를 검색하는 파라미터 값.

지역화 된 채널 섹션 메타 데이터 설정 및 검색

메서드 : youtube.channelSections.update, youtube.channelSections.list 
설명 :이 샘플은 다음 API 메서드를 사용하여 채널 섹션의 지역화 된 메타 데이터를 설정하고 검색하는 방법을 보여줍니다.

  • channelSections.update메서드를 호출하여 채널 섹션의 메타 데이터의 기본 언어를 업데이트하고이 언어의 현지화 된 버전을 선택한 언어로 추가합니다.
  • 특정 언어로 설정된 매개 변수를 사용 하여 channelSections.list메서드를 호출하여 hl해당 언어의 지역화 된 메타 데이터를 검색합니다.
  • 그것은 호출 channelSections.list방법 및 포함 localizations에서 part해당 채널 영역에 대한 지역화 모든 메타 데이터를 검색하는 파라미터 값.

지역화 된 재생 목록 메타 데이터 설정 및 검색

메서드 : youtube.playlists.update, youtube.playlists.list 
설명 :이 샘플은 다음 API 메서드를 사용하여 재생 목록의 지역화 된 메타 데이터를 설정하고 검색하는 방법을 보여줍니다.

  • 이 playlists.update메서드는 재생 목록의 메타 데이터의 기본 언어를 업데이트하고이 언어의 현지화 된 버전을 선택한 언어로 추가하는 메서드를 호출합니다 .
  • 특정 언어로 설정된 매개 변수를 사용 하여 playlists.list메서드를 호출하여 hl해당 언어의 지역화 된 메타 데이터를 검색합니다.
  • 그것은 호출 playlists.list방법 및 포함 localizations에서 part 그 재생을 위해 국부 모든 메타 데이터를 검색하는 파라미터 값.

지역화 된 비디오 메타 데이터 설정 및 검색

메서드 : youtube.videos.update, youtube.videos.list 
설명 :이 샘플은 다음 API 메서드를 사용하여 비디오의 지역화 된 메타 데이터를 설정하고 검색하는 방법을 보여줍니다.

  • 이 videos.update메서드는 비디오 메타 데이터의 기본 언어를 업데이트하고 선택한 언어로이 메타 데이터의 지역화 된 버전을 추가하는 메서드를 호출합니다 .
  • 특정 언어로 설정된 매개 변수를 사용 하여 videos.list메서드를 호출하여 hl해당 언어의 지역화 된 메타 데이터를 검색합니다.
  • 그것은 호출 videos.list방법 및 포함 localizations에서 part 해당 동영상 국부적 모든 메타 데이터를 검색하는 파라미터 값.

기존 채널 섹션 섞기

메소드 : youtube.channelSections.list, youtube.channelSections.update 
설명 :이 샘플은 API의 channelSections.list메소드를 호출하여 현재 채널 섹션의 목록을 가져옵니다. 그런 다음 목록을 섞어서 channelSections.update각 항목의 위치를 ​​변경합니다. 

채널 섹션에 대한 자세한 내용은 YouTube 도움말 센터를 참조하십시오 .

비디오 업데이트

메소드 : youtube.videos.update 
설명 :이 샘플은 API의 videos.update메소드를 호출 하여 요청을 승인하는 채널이 소유 한 비디오를 업데이트합니다.

배너 이미지 업로드 및 채널 배너로 설정

메소드 : youtube.channelBanners.insert, youtube.channels.update 
설명 :이 샘플은 API의 channelBanners.insert메소드를 호출하여 이미지를 업로드합니다. 반환 된 URL을 사용하면 샘플에서 channels.update메서드를 호출 하여 채널 배너를 해당 이미지로 업데이트 할 수 있습니다.

동영상 업로드

메소드 : youtube.videos.insert 
설명 :이 샘플은 API의 videos.insert메소드를 호출 하여 요청과 관련된 채널에 비디오를 업로드합니다.

동영상 미리보기 이미지 업로드

메소드 : youtube.thumbnails.set 
설명 :이 샘플은 API의 thumbnails.set메소드를 호출하여 이미지를 업로드하고이를 동영상의 미리보기 이미지로 설정합니다. 요청은 동영상을 소유 한 채널에 의해 승인되어야합니다.

워터 마크 이미지 업로드 및 채널 설정

Method: youtube.watermarks.set
Description: This sample calls the API's watermarks.set method to upload an image and set it as the watermark image for a channel. The request must be authorized by the channel that owns the video.

Create a broadcast and stream

Method: youtube.liveBroadcasts.bind,youtube.liveBroadcasts.insert,youtube.liveStreams.insert
Description: This sample calls the API's liveBroadcasts.insert and liveStreams.insert methods to create a broadcast and a stream. Then, it calls the liveBroadcasts.bind method to bind the stream to the broadcast.

Retrieve a channel's broadcasts

메서드 : youtube.liveBroadcasts.list 
설명 :이 샘플은 API의 liveBroadcasts.list메서드를 호출 하여 요청과 연결된 채널의 브로드 캐스트 목록을 검색합니다. 기본적으로 요청은 채널에 대한 모든 브로드 캐스트를 검색하지만 --broadcast-status특정 상태의 브로드 캐스트 만 검색 하도록 옵션 의 값을 지정할 수도 있습니다 .

채널의 라이브 비디오 스트림 검색

메소드 : youtube.liveStreams.list 
설명 :이 샘플은 API의 liveStreams.list메소드를 호출하여 채널이 YouTube의 실시간 이벤트를 방송하는 데 사용할 수있는 비디오 스트림 설정 목록을 검색합니다.

viewcount별로 상위 10 개 동영상 검색

Method: youtubeAnalytics.reports.query
Description: This sample calls the API's reports.query method to retrieve YouTube Analytics data. By default, the report retrieves the top 10 videos based on viewcounts, and it returns several metrics for those videos, sorting the results in reverse order by viewcount. By setting command line parameters, you can use the same code to retrieve other reports as well.

Create a reporting job

Method: youtubeReporting.reportTypes.list, youtubeReporting.jobs.create
Description: This sample demonstrates how to create a reporting job. It calls the reportTypes.list method to retrieve a list of available report types. It then calls the jobs.create method to create a new reporting job.

Retrieve reports

방법 : youtubeReporting.jobs.list, youtubeReporting.reports.list 
설명 :이 샘플은 특정 작업에서 생성 된 보고서를 검색하는 방법을 보여줍니다. jobs.list보고 작업을 검색 하는 메소드를 호출합니다 그런 다음 특정 작업 ID로 설정된 매개 변수로 reports.list메소드 를 호출하여 jobId해당 작업으로 작성된 보고서를 검색합니다. 마지막으로 샘플은 각 보고서의 다운로드 URL을 인쇄합니다.

+ Recent posts