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

Java 클라이언트 라이브러리로 Google 포토 API를 사용하려면 개발 환경에서 클라이언트 라이브러리를 설정해야 합니다. 그 전에 API를 사용 설정하여 프로젝트를 구성합니다. OAuth 2.0 클라이언트 ID를 설정할 수 있습니다.

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

OAuth 2.0 클라이언트 ID를 사용하면 애플리케이션 사용자가 로그인하고 인증하여 포토 API를 사용할 수 있습니다. Photos 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. 승인된 JavaScript 출처 필드에 앱의 출처를 입력합니다. 이 필드에는 와일드 카드가 허용되지 않습니다.

      여러 출처를 입력하여 앱이 여러 프로토콜, 도메인 또는 하위 도메인에서 실행되도록 할 수 있습니다. 입력한 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에서 앱을 검토해야 합니다. 애플리케이션을 테스트할 때 인증될 때까지 화면에 'Unverified app' 메시지가 표시됩니다.

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

Java 클라이언트 라이브러리는 모든 백엔드 API 호출을 자동으로 처리하고 몇 가지 일반적인 API 작업을 위한 코드 샘플을 비롯하여 작업할 수 있는 친숙한 객체를 제공합니다. 먼저 GitHub에서 종속 항목과 함께 Java용 Google 포토 API 클라이언트 라이브러리를 다운로드하여 설치합니다. 그런 다음 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 파일을 포함하여 각 라이브러리 릴리스에 대한 다양한 아티팩트가 포함됩니다.

  • 저장소를 클론합니다.

    이 라이브러리를 변경하거나 기여하려는 경우(예: 풀 리퀘스트 제출) 또는 샘플을 사용해 보려는 경우 이 메서드를 사용하세요. 저장소를 클론하면 이 저장소의 모든 파일이 다운로드됩니다.

    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 사용자 인증 정보 설정

이 클라이언트 라이브러리는 Google 인증 라이브러리 Java 자세한 내용은 Java용 Google API 클라이언트 라이브러리에서 OAuth 2.0 사용을 참고하세요.

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

샘플 사용해 보기

아래 코드를 사용하여 Java 클라이언트 라이브러리를 사용하여 첫 번째 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에서 확인할 수 있습니다.