자바 클라이언트 라이브러리 시작하기

자바 클라이언트 라이브러리와 함께 Google 포토 라이브러리 API를 사용하려면 개발 환경에서 클라이언트 라이브러리를 설정해야 합니다. 이렇게 하기 전에 Google API 콘솔을 통해 API를 사용 설정하고 OAuth 2.0 클라이언트 ID를 설정하여 프로젝트를 구성합니다.

애플리케이션은 Google 포토 사용자를 대신하여 Google 포토와 상호작용합니다. 예를 들어 사용자의 Google 포토 라이브러리에서 앨범을 만들거나 사용자의 Google 포토 계정에 미디어 항목을 업로드하면 사용자는 OAuth 2.0 프로토콜을 통해 이러한 API 요청을 승인합니다.

OAuth 2.0 클라이언트 ID를 사용하면 애플리케이션 사용자가 로그인하고 인증하여 라이브러리 API를 사용할 수 있습니다. 라이브러리 API는 서비스 계정을 지원하지 않습니다. 이 API를 사용하려면 유효한 Google 계정에 로그인해야 합니다.

앱 구성

API 사용 설정

라이브러리 API를 사용하려면 먼저 프로젝트에서 이를 사용 설정해야 합니다.

  1. Google API 콘솔로 이동합니다.
  2. 메뉴 바에서 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
  3. Google API 라이브러리를 열려면 탐색 메뉴에서 API 및 서비스 > 라이브러리를 선택합니다.
  4. 'Google 포토 라이브러리 API'를 검색합니다. 올바른 결과를 선택하고 사용 설정을 클릭합니다.

OAuth 2.0 클라이언트 ID 요청

아래 단계에 따라 OAuth 클라이언트 ID를 요청하고 이를 애플리케이션에 맞게 구성합니다. 이 예에서는 샘플에서와 같이 전체 OAuth 흐름이 서버 측에서 처리되는 애플리케이션을 사용합니다. 설정 프로세스는 구현 시나리오에 따라 다를 수 있습니다.

  1. Google API 콘솔로 이동하여 프로젝트를 선택합니다.
  2. 메뉴에서 API 및 서비스 > 사용자 인증 정보를 선택합니다.
  3. 사용자 인증 정보 페이지에서 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 클릭합니다.
  4. 애플리케이션 유형을 선택합니다. 이 예에서 애플리케이션 유형은 웹 애플리케이션입니다.
  5. 다음과 같이 앱이 Google API에 액세스할 수 있는 출처를 등록합니다.

    1. 클라이언트 ID를 식별하려면 이름을 입력합니다.
    2. 승인된 자바스크립트 원본 필드에 앱의 출처를 입력합니다. 이 필드에는 와일드 카드가 허용되지 않습니다.

      앱이 다양한 프로토콜, 도메인 또는 하위 도메인에서 실행되도록 여러 출처를 입력할 수 있습니다. 입력한 URL은 OAuth 요청을 시작할 수 있습니다.

      다음 예는 로컬 개발 URL (샘플에서는 localhost:8080 사용)과 프로덕션 URL을 보여줍니다.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. 승인된 리디렉션 URI 필드는 OAuth 2.0 서버에서 응답을 수신하는 엔드포인트입니다. 일반적으로 개발 환경이 포함되며 애플리케이션의 경로를 가리킵니다.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. 만들기를 클릭합니다.

  1. 표시되는 OAuth 클라이언트 대화상자에서 클라이언트 구성이 포함된 JSON 파일을 다운로드합니다. 클라이언트 세부정보는 다음으로 구성됩니다.

    • 클라이언트 ID
    • 클라이언트 보안 비밀번호

    나중에 이 JSON 파일은 이 클라이언트 라이브러리와 함께 작동하는 Java용 Google 인증 라이브러리를 설정하는 데 사용됩니다.

라이브러리 API에 액세스하는 공개 애플리케이션을 실행하려면 먼저 Google에서 앱을 검토해야 합니다. 애플리케이션을 테스트할 때 확인될 때까지 화면에 '확인되지 않은 앱' 메시지가 표시됩니다.

클라이언트 라이브러리 설정

자바 클라이언트 라이브러리는 모든 백엔드 API 호출을 처리하고 몇 가지 일반적인 API 작업의 코드 샘플을 포함하여 작업할 친숙한 객체를 노출합니다. 먼저 Java용 Google 포토 라이브러리 API 클라이언트 라이브러리를 GitHub의 종속 항목과 함께 다운로드하여 설치합니다. 그런 다음 Java용 OAuth2 사용자 인증 정보를 설정합니다.

다운로드 옵션

다음은 클라이언트 라이브러리를 다운로드할 수 있는 몇 가지 옵션입니다.

  • Gradle 종속 항목:

    Gradle과 함께 이 라이브러리를 사용하려면 build.gradle 파일에 다음 종속 항목을 추가합니다.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Maven 종속 항목:

    Maven에서 이 라이브러리를 사용하려면 Maven pom.xml 파일에 다음을 추가합니다.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • 버전 다운로드:

    출시 페이지에는 jar 파일을 포함하여 각 라이브러리 출시의 다양한 아티팩트가 포함되어 있습니다.

  • 저장소를 클론합니다.

    이 라이브러리를 변경하거나 참여하려는 경우(예: pull 요청 제출 또는 샘플을 시도하려는 경우) 이 방법을 사용하세요. 저장소를 클론하면 이 저장소의 모든 파일이 다운로드됩니다.

    1. 명령 프롬프트에서 git clone https://github.com/google/java-photoslibrary.git를 실행합니다.
    2. java-photoslibrary 디렉터리가 생성됩니다. cd java-photoslibrary를 실행하여 이동합니다.
    3. IDE에서 build.gradle 파일을 열거나 명령어 프롬프트에서 ./gradlew assemble를 실행하여 프로젝트를 빌드합니다. 사용 가능한 태스크를 보려면 ./gradlew tasks를 참조하세요.

Java용 OAuth2 사용자 인증 정보 설정

이 클라이언트 라이브러리는 Java용 Google 인증 라이브러리에서 작동합니다. 자세한 내용은 Java용 Google API 클라이언트 라이브러리에서 OAuth 2.0 사용하기를 참고하세요.

PhotosLibraryClient 객체의 PhotoLibrarySettings를 만들 때 CredentialsProvider에서 클라이언트 OAuth 구성을 지정합니다.

샘플 사용해 보기

아래 코드를 사용해 자바 클라이언트 라이브러리를 사용하여 첫 API를 호출해 보세요.

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

GitHub에 시도해 볼 수 있는 더 많은 샘플이 있습니다.