Python 빠른 시작

이 빠른 시작 가이드에서는 YouTube Data API에 요청을 보내는 간단한 Python 명령줄 애플리케이션을 설정하는 방법을 설명합니다. 이 빠른 시작에서는 실제로 다음 두 가지 API 요청을 만드는 방법을 설명합니다.

  1. 애플리케이션을 식별하는 API 키를 사용하여 GoogleDevelopers YouTube 채널에 관한 정보를 가져옵니다.
  2. OAuth 2.0 클라이언트 ID를 사용하여 내 YouTube 채널에 관한 정보를 가져오는 승인된 요청을 제출합니다.

기본 요건

이 빠른 시작을 실행하려면 다음이 필요합니다.

  • Python 2.7 또는 Python 3.5 이상

  • pip 패키지 관리 도구

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

    pip install --upgrade google-api-python-client
    
  • 사용자 승인을 위한 google-auth-oauthlibgoogle-auth-httplib2 라이브러리

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

1단계: 프로젝트 및 사용자 인증 정보 설정

API 콘솔에서 프로젝트를 만들거나 선택합니다. 프로젝트의 API 콘솔에서 다음 작업을 완료합니다.

  1. 라이브러리 패널에서 YouTube Data API v3를 검색합니다. 해당 API의 목록을 클릭하고 프로젝트에 API가 사용 설정되어 있는지 확인합니다.

  2. 사용자 인증 정보 패널에서 다음 두 가지 사용자 인증 정보를 만듭니다.

    1. API 키 만들기 사용자 승인이 필요하지 않은 API 요청을 만드는 데 API 키를 사용합니다. 예를 들어 공개 YouTube 채널에 관한 정보를 가져오는 데는 사용자 승인이 필요하지 않습니다.

    2. OAuth 2.0 클라이언트 ID 만들기 애플리케이션 유형을 기타로 설정합니다. 사용자 승인이 필요한 요청에는 OAuth 2.0 사용자 인증 정보를 사용해야 합니다. 예를 들어 현재 인증된 사용자의 YouTube 채널에 관한 정보를 가져오려면 사용자 승인이 필요합니다.

      OAuth 2.0 사용자 인증 정보가 포함된 JSON 파일을 다운로드합니다. 파일 이름은 client_secret_CLIENTID.json와 같습니다. 여기서 CLIENTID은 프로젝트의 클라이언트 ID입니다.

2단계: 샘플 설정 및 실행

측면 패널의 API 탐색기 위젯을 사용하여 GoogleDevelopers YouTube 채널에 관한 정보를 가져오는 샘플 코드를 가져옵니다. 이 요청은 API 키를 사용하여 애플리케이션을 식별하며, 사용자 승인이나 샘플을 실행하는 사용자의 특별한 권한이 필요하지 않습니다.

  1. API의 channels.list 메서드에 관한 문서를 엽니다.
  2. 해당 페이지의 '일반적인 사용 사례' 섹션에는 이 메서드가 사용되는 여러 일반적인 방법을 설명하는 표가 포함되어 있습니다. 표의 첫 번째 항목은 채널 ID별 목록 결과입니다.

    첫 번째 목록의 코드 기호를 클릭하여 전체 화면 API 탐색기를 열고 채웁니다.

    채널.list 문서의 사용 사례를 나열하는 표에서 코드 기호 링크의 위치를 식별하는 이미지입니다. 해당 이미지의 대체 텍스트는 이미지를 코드 기호로 식별하고 해당 링크와 연결된 사용 사례를 지정합니다.

  3. 전체 화면 API 탐색기의 왼쪽에는 다음이 표시됩니다.

    1. 요청 매개변수 헤더 아래에는 메서드에서 지원하는 매개변수 목록이 있습니다. partid 매개변수 값을 설정해야 합니다. id 매개변수 값인 UC_x5XG1OV2P6uZZ5FSM9Ttw은 GoogleDevelopers YouTube 채널의 ID입니다.

    2. 매개변수 아래에 인증 정보라는 섹션이 있습니다. 이 섹션의 풀다운 메뉴에는 API 키 값이 표시되어야 합니다. API 탐색기는 기본적으로 데모 사용자 인증 정보를 사용하여 시작하기 쉽게 합니다. 하지만 샘플을 로컬로 실행하려면 자체 API 키를 사용해야 합니다.

      전체 화면 API 탐색기에 '사용자 인증 정보'가 표시되고 'API 키' 옵션이 선택된 풀다운 메뉴가 표시된 이미지

  4. 전체 화면 API 탐색기의 오른쪽에는 다양한 언어로 된 코드 샘플이 있는 탭이 표시됩니다. Python 탭을 선택합니다.

  5. 코드 샘플을 복사하여 example.py이라는 파일에 저장합니다.

  6. 다운로드한 샘플에서 YOUR_API_KEY 문자열을 찾아 이 빠른 시작의 1단계에서 만든 API 키로 바꿉니다.

  7. 명령줄에서 샘플을 실행합니다. 작업 디렉터리에서 다음을 실행합니다.

    python example.py

  8. 샘플은 요청을 실행하고 STDOUT에 응답을 출력해야 합니다.

3단계: 승인된 요청 실행

이 단계에서는 GoogleDevelopers YouTube 채널에 관한 정보를 가져오는 대신 YouTube 채널에 관한 정보를 가져오도록 코드 샘플을 수정합니다. 이 요청에는 사용자 승인이 필요합니다.

  1. API의 channels.list 메서드 문서로 돌아갑니다.

  2. '일반적인 사용 사례' 섹션에서 표의 세 번째 목록에 있는 코드 기호를 클릭합니다. 이 사용 사례는 '내 채널'에 대해 list 메서드를 호출하는 것입니다.

  3. 전체 화면 API 탐색기의 왼쪽에는 매개변수 목록과 사용자 인증 정보 섹션이 표시됩니다. 하지만 GoogleDevelopers 채널에 관한 정보를 가져온 예시와는 두 가지 차이점이 있습니다.

    1. 매개변수 섹션에서 id 매개변수 값이 설정되는 대신 mine 매개변수 값이 true로 설정되어야 합니다. 이렇게 하면 API 서버가 현재 인증된 사용자의 채널에 관한 정보를 가져오도록 지시합니다.

    2. 사용자 인증 정보 섹션의 풀다운 메뉴에서 Google OAuth 2.0 옵션을 선택해야 합니다.

      또한 범위 표시 링크를 클릭하면 https://www.googleapis.com/auth/youtube.readonly 범위가 선택되어 있어야 합니다.

      전체 화면 API 탐색기의 범위와 'Google OAuth 2.0' 사용자 인증 정보를 사용하는 옵션이 선택된 상태를 보여주는 이미지

  4. 이전 예와 마찬가지로 Python 탭을 선택하고 코드 샘플을 복사하여 example.py에 저장합니다.

    코드에서 YOUR_CLIENT_SECRET_FILE.json 문자열을 찾아 이 빠른 시작의 1단계에서 다운로드한 클라이언트 보안 비밀번호 파일의 위치로 바꿉니다.

  5. 명령줄에서 샘플을 실행합니다. 작업 디렉터리에서 다음을 실행합니다.

    python example.py

  6. 콘솔에서 URL을 복사하여 브라우저에서 엽니다.

    아직 Google 계정에 로그인하지 않은 경우 로그인하라는 메시지가 표시됩니다. 여러 Google 계정에 로그인한 경우 인증에 사용할 계정을 선택하라는 메시지가 표시됩니다.

  7. 버튼을 클릭하여 애플리케이션에 코드 샘플에 지정된 범위에 대한 액세스 권한을 부여합니다.

  8. 브라우저에서 인증 코드를 복사하여 터미널에 붙여넣습니다. 그런 다음 인증 흐름에 사용된 브라우저 탭을 닫을 수 있습니다.

    API 응답이 다시 STDOUT에 출력되어야 합니다.

추가 자료