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

PHP 클라이언트 라이브러리와 함께 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 파일을 사용해 이 클라이언트 라이브러리와 호환되는 PHP용 Google 인증 라이브러리를 설정합니다.

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

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

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

다운로드 옵션

composer를 사용하여 라이브러리를 개발 환경에 종속 항목으로 포함합니다. 다음 명령어를 실행하여 라이브러리를 프로젝트 구성에 추가하고 vendor/ 디렉터리에 다운로드합니다.

composer require google/photos-library

또는 저장소를 클론하거나 압축된 tarball을 다운로드할 수도 있습니다.

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

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

PhotosLibraryClient를 설정할 때 인증 라이브러리에서 반환된 사용자 인증 정보를 사용합니다.

샘플 사용해 보기

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

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

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