자바 빠른 시작

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

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

기본 요건

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

  • Java 1.7 이상
  • Gradle 2.3 이상
  • 인터넷 및 웹브라우저 액세스
  • Google 계정

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단계: 프로젝트 준비

다음 단계에 따라 Gradle 프로젝트를 준비하세요.

  1. 작업 디렉터리에서 다음 명령어를 실행하여 새 프로젝트 구조를 만듭니다.

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. OAuth 2.0 클라이언트 ID를 만든 후 다운로드한 JSON 파일을 작업 디렉터리 아래의 src/main/resources 디렉터리로 이동하고 파일 이름을 client_secret.json로 바꿉니다.

  3. 작업 디렉터리에서 build.gradle 파일을 열고 콘텐츠를 다음으로 바꿉니다.

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION'
    }
  4. build.gradle 파일에서 REVISIONCL_VERSION 변수를 YouTube Data API의 클라이언트 라이브러리 문서에 있는 두 값으로 바꿔야 합니다. YouTube 분석 API의 문서를 보여주는 아래 스크린샷은 페이지에 두 변수가 표시되는 위치를 보여줍니다.

    'REVISION' 및 'CL_VERSION' 변수의 값을 찾는 방법을 보여주는 JavaDoc 참조 스크린샷

3단계: 샘플 설정 및 실행

측면 패널의 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 탐색기의 오른쪽에는 다양한 언어로 된 코드 샘플이 있는 탭이 표시됩니다. Java 탭을 선택합니다.

  5. 코드 샘플을 복사하여 src/main/java/ApiExample.java이라는 파일에 저장합니다. 모든 샘플은 동일한 클래스 이름 (ApiExample)을 사용하므로 다른 샘플을 실행하기 위해 build.gradle 파일을 수정할 필요가 없습니다.

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

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

    gradle -q run

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

4단계: 승인된 요청 실행

이 단계에서는 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. 이전 예와 마찬가지로 Java 탭을 선택하고 코드 샘플을 복사하여 src/main/java/ApiExample.java에 저장합니다.

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

    gradle -q run

  6. 샘플은 기본 브라우저에서 새 창이나 탭을 열려고 시도해야 합니다. 이 방법이 실패하면 터미널에서 URL을 복사하여 브라우저에서 수동으로 엽니다.

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

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

  8. 샘플이 자동으로 진행되며 인증 흐름에 사용된 브라우저 탭을 닫아도 됩니다.

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

추가 자료