사용방법 : 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
프로젝트 설정 및 코드 샘플 실행
API 콘솔에서 프로젝트를 만들고 웹 응용 프로그램의 자격 증명을 설정합니다. 승인 된 리디렉션 URI를 적절하게 설정하십시오.
자격 증명과 관련된 client_secrets.json 파일을 로컬 파일에 저장하십시오.
전체 코드 샘플을 client_secrets.json 파일과 동일한 디렉토리의 로컬 파일에 복사하거나 샘플을 수정하여 해당 파일의 위치를 정확하게 식별하십시오.
명령 행에서 샘플을 실행하고 필요에 따라 명령 행 인수를 설정하십시오.
python sample.py --arg1=value1 --arg2=value2 ...
대부분의 샘플은 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
메소드를 호출하여 초안 상태의 캡션 트랙을 업로드합니다.isDraft
true
- 이
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를 검색합니다.mine
true
키워드 검색
메서드 : youtube.search.list
설명 :이 샘플에서는 API의 search.list
메서드를 호출하여 특정 키워드와 관련된 검색 결과를 검색합니다.
위치 검색
방법 : youtube.search.list, youtube.videos.list
설명 :이 샘플은 API의 호출 search.list
와 방법을 type
, q
, location
, 및 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을 인쇄합니다.