이 빠른 시작 가이드에서는 YouTube Data API에 요청하는 간단한 자바 명령줄 애플리케이션을 설정하는 방법을 설명합니다. 이 빠른 시작에서는 실제로 두 가지 API 요청을 수행하는 방법을 설명합니다.
- 애플리케이션을 식별하는 API 키를 사용하여 GoogleDevelopers YouTube 채널에 대한 정보를 검색합니다.
- OAuth 2.0 클라이언트 ID를 사용하여 YouTube 채널에 대한 정보를 검색하는 승인된 요청을 제출합니다.
기본 요건
이 빠른 시작을 실행하려면 다음이 필요합니다.
- 자바 1.7 이상
- Gradle 2.3 이상.
- 인터넷 및 웹브라우저 액세스
- Google 계정
1단계: 프로젝트 및 사용자 인증 정보 설정하기
API 콘솔에서 프로젝트를 만들거나 선택합니다. API 콘솔에서 프로젝트의 다음 작업을 완료합니다.
라이브러리 패널에서 YouTube Data API v3를 검색합니다. 해당 API의 등록정보를 클릭하고 프로젝트에 API가 사용 설정되어 있는지 확인합니다.
사용자 인증 정보 패널에서 두 개의 사용자 인증 정보를 만듭니다.
API 키 만들기 API 키를 사용하여 사용자 승인이 필요하지 않은 API 요청을 만듭니다. 예를 들어 공개 YouTube 채널에 대한 정보를 가져오기 위해 사용자 승인이 필요하지는 않습니다.
OAuth 2.0 클라이언트 ID 만들기 애플리케이션 유형을 기타로 설정합니다. 사용자 승인이 필요한 요청에는 OAuth 2.0 사용자 인증 정보를 사용해야 합니다. 예를 들어 현재 인증된 사용자의 YouTube 채널에 대한 정보를 검색하려면 사용자 승인이 필요합니다.
OAuth 2.0 사용자 인증 정보가 포함된 JSON 파일을 다운로드합니다. 이 파일의 이름은
client_secret_CLIENTID.json
와 같고 여기서CLIENTID
는 프로젝트의 클라이언트 ID입니다.
2단계: 프로젝트 준비
Gradle 프로젝트를 준비하려면 다음 단계를 완료하세요.
작업 디렉터리에서 다음 명령어를 실행하여 새 프로젝트 구조를 만듭니다.
$ gradle init --type basic $ mkdir -p src/main/java src/main/resources
OAuth 2.0 클라이언트 ID를 만든 후 다운로드한 JSON 파일을 작업 디렉터리 아래의
src/main/resources
디렉터리로 이동하고 파일 이름을client_secret.json
로 바꿉니다.작업 디렉터리에서
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' }
build.gradle
파일에서 REVISION 및 CL_VERSION 변수를 YouTube Data API에 대한 클라이언트 라이브러리 문서의 2개 값으로 바꿔야 합니다. YouTube 분석 API 문서를 보여주는 아래 스크린샷에서는 두 변수가 페이지에 표시되는 위치를 보여줍니다.
3단계: 샘플 설정 및 실행
측면 패널의 API 탐색기 위젯을 사용하여 GoogleDevelopers YouTube 채널에 대한 정보를 가져오는 샘플 코드를 가져옵니다. 이 요청은 API 키를 사용하여 애플리케이션을 식별하며 사용자 승인이나 샘플을 실행하는 사용자의 특별한 권한이 필요하지 않습니다.
- API의 channels.list 메서드 문서를 엽니다.
이 페이지의 '일반적인 사용 사례' 섹션에는 메서드가 사용되는 몇 가지 일반적인 방법을 설명하는 표가 있습니다. 표의 첫 번째 목록은 채널 ID별로 결과를 나열하는 것입니다.
첫 번째 등록정보의 코드 기호를 클릭하여 전체 화면 API 탐색기를 열고 채웁니다.
Fullscreen API Explorer의 왼쪽에는 다음이 표시됩니다.
요청 매개변수 헤더 아래에 메서드에서 지원하는 매개변수 목록이 있습니다.
part
및id
매개변수 값을 설정해야 합니다.id
매개변수 값인UC_x5XG1OV2P6uZZ5FSM9Ttw
는 GoogleDevelopers YouTube 채널의 ID입니다.매개변수 아래에 Credentials(사용자 인증 정보)라는 섹션이 있습니다. 해당 섹션의 풀다운 메뉴에 API 키 값이 표시되어야 합니다. API 탐색기는 기본적으로 데모 사용자 인증 정보를 사용하여 더 쉽게 시작할 수 있도록 합니다. 그러나 자체 API 키를 사용하여 샘플을 로컬에서 실행할 것입니다.
Fullscreen API Explorer의 오른쪽에는 코드 샘플이 있는 여러 언어의 탭이 표시되어 있습니다. 자바 탭을 선택합니다.
코드 샘플을 복사하여
src/main/java/ApiExample.java
파일에 저장합니다. 모든 샘플은 동일한 클래스 이름 (ApiExample
)을 사용하므로 다른 샘플을 실행하기 위해build.gradle
파일을 수정할 필요가 없습니다.다운로드한 샘플에서
YOUR_API_KEY
문자열을 찾아 이 빠른 시작의 1단계에서 만든 API 키로 바꿉니다.명령줄에서 샘플을 실행합니다. 작업 디렉터리에서 다음을 실행합니다.
gradle -q run
샘플은 요청을 실행하고
STDOUT
에 응답을 출력합니다.
4단계: 승인된 요청 실행
이 단계에서는 GoogleDevelopers YouTube 채널에 대한 정보를 가져오는 대신 내 YouTube 채널에 관한 정보를 가져오도록 코드 샘플을 수정합니다. 이 요청은 사용자 승인이 필요합니다.
API의 channels.list 메서드 문서로 돌아갑니다.
'일반 사용 사례' 섹션에서 표의 세 번째 등록정보에 대한 코드 기호를 클릭합니다. 이 사용 사례는 '내 채널'에 대해
list
메서드를 호출하는 것입니다.다시 전체 화면 API 탐색기 왼쪽에 매개변수 목록과 사용자 인증 정보 섹션이 표시됩니다. 그러나 GoogleDevelopers 채널에 대한 정보를 가져온 예는 다음과 같이 두 가지가 변경되었습니다.
매개변수 섹션에서
id
매개변수 값을 설정하는 대신mine
매개변수 값을true
로 설정해야 합니다. API 서버에 현재 인증된 사용자의 채널에 관한 정보를 검색하도록 지시합니다.사용자 인증 정보 섹션의 풀다운 메뉴에서 Google OAuth 2.0 옵션을 선택해야 합니다.
또한 범위 표시 링크를 클릭하면 https://www.googleapis.com/auth/youtube.readonly 범위를 선택해야 합니다.
이전 예와 마찬가지로 자바 탭을 선택하고 코드 샘플을 복사하여
src/main/java/ApiExample.java
에 저장합니다.명령줄에서 샘플을 실행합니다. 작업 디렉터리에서 다음을 실행합니다.
gradle -q run
샘플은 기본 브라우저에서 새 창 또는 탭을 열려고 시도합니다. 실패하면 터미널에서 URL을 복사하여 브라우저에서 수동으로 엽니다.
아직 Google 계정에 로그인하지 않은 경우 로그인하라는 메시지가 표시됩니다. 여러 Google 계정에 로그인되어 있는 경우 승인에 사용할 계정 한 개를 선택하라는 메시지가 표시됩니다.
버튼을 클릭하여 애플리케이션에 코드 샘플에 지정된 범위에 대한 액세스 권한을 부여합니다.
샘플은 자동으로 진행되고 인증 흐름에 사용된 브라우저 탭을 닫을 수 있습니다.
API 응답이 다시
STDOUT
에 출력됩니다.