PHP クライアント ライブラリのスタートガイド

PHP クライアント ライブラリで Google Photos Library API の使用を開始するには、開発環境にクライアント ライブラリを設定する必要があります。その前に、Google API Console で API を有効にし、OAuth 2.0 クライアント ID を設定して、プロジェクトを設定します。

アプリケーションが Google フォトのユーザーに代わって Google フォトとやり取りします。たとえば、ユーザーの Google フォト ライブラリでアルバムを作成する場合や、ユーザーの Google フォト アカウントにメディア アイテムをアップロードする場合、ユーザーは OAuth 2.0 プロトコルを介してこれらの API リクエストを承認します。

OAuth 2.0 クライアント ID を使用すると、アプリケーション ユーザーはログインと認証を行い、Library API を使用できます。Library API はサービス アカウントをサポートしていません。この API を使用するには、ユーザーは有効な Google アカウントにログインする必要があります。

アプリを設定する

API を有効にする

Library API を使用する前に、プロジェクトで有効にする必要があります。

  1. Google API Console に移動します。
  2. メニューバーで、プロジェクトを選択するか、新しいプロジェクトを作成します。
  3. Google API ライブラリを開くには、ナビゲーション メニューから [API とサービス] > [ライブラリ] を選択します。
  4. 「Google Photos Library API」を検索します。正しい結果を選択して、[有効にする] をクリックします。

OAuth 2.0 クライアント ID をリクエストする

OAuth クライアント ID をリクエストし、アプリケーション用に構成するには、次の手順を行います。この例では、サンプルのように、OAuth フロー全体がサーバーサイドで処理されるアプリケーションを使用します。設定プロセスは、他の実装シナリオによって異なる場合があります。

  1. Google API Console に移動し、プロジェクトを選択します。
  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 ファイルは、このクライアント ライブラリと連携する PHP 用 Google 認証ライブラリを設定するために後で使用されます。

Library API にアクセスする公開アプリをリリースする前に、Google によるアプリの審査を受ける必要があります。アプリケーションをテストする際、確認されるまで画面に「未確認アプリ」というメッセージが表示されます。

クライアント ライブラリを設定する

PHP クライアント ライブラリは、すべてのバックエンド API 呼び出しを処理し、一般的な API タスクのコードサンプルなど、使いやすいオブジェクトを公開します。まず、依存関係とともに PHP 用 Google Photos Library API クライアント ライブラリを GitHub からダウンロードしてインストールします。次に、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 には、試すことができるその他のサンプルがあります。