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

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

Google フォト ユーザーに代わってアプリケーションが Google フォトとやり取りします。たとえば、ユーザーのフォルダ内にアルバムを作成すると メディア アイテムをユーザーの 使用している場合、ユーザーは OAuth 2.0 プロトコル。

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

アプリを設定する

API を有効にする

Photos API を使用するには、プロジェクトでこの機能を有効にする必要があります。

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

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 認証ライブラリを設定するために後で使用されます。

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

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

PHP クライアント ライブラリは、すべてのバックエンド API 呼び出しを処理します。また、連携しやすいオブジェクトを公開します(一般的な API タスクのコードサンプルを含む)。まず、依存関係とともに、GitHub から PHP 用 Google Photos APIs クライアント ライブラリをダウンロードしてインストールします。次に、PHP の OAuth2 認証情報を設定します。

ダウンロード オプション

composer を使用する を使用して、開発環境に依存関係としてライブラリを組み込む必要があります。次のコマンドを実行します。 次のコマンドを実行して、ライブラリをプロジェクト構成に追加し、 vendor/ ディレクトリに移動します。

composer require google/photos-library

別の方法として、 クローンを作成し、 リポジトリまたは 圧縮ファイルをダウンロードして tarball を使用します。

PHP の OAuth2 認証情報を設定する

このクライアント ライブラリは Google 認証ライブラリ PHP。詳しくは 詳しくは、Using OAuth 2.0 with the Google API Client Library for PHP

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 には、試しに実行できるサンプルが他にもあります。