開始使用 PHP 用戶端程式庫

如要開始使用 Google Photos Library API 搭配 PHP 用戶端程式庫,你必須 在您的開發環境中設定用戶端程式庫。 在新增專案前,請先啟用 API 設定專案 ,並設定 OAuth 2.0 用戶端 ID。

您的應用程式代表 Google 相簿使用者。例如,當您在使用者的 Google 相簿相片庫或將媒體項目上傳到使用者的 Google 相簿帳戶,使用者透過 OAuth 2.0 通訊協定。

OAuth 2.0 用戶端 ID 可讓應用程式使用者登入、驗證 然後使用 Library APILibrary API 不支援 或服務帳戶如要使用這個 API,使用者必須登入有效的 Google 。

設定應用程式

啟用 API

您必須先為專案啟用 Library API,才能使用該 API。

  1. 前往 Google API 控制台
  2. 在選單列中,選取專案或建立新專案。
  3. 如要開啟 Google API 程式庫,請從導覽選單選取 API 與服務 >程式庫
  4. 搜尋「Google Photos Library API」。選取正確的結果並按一下 啟用

要求 OAuth 2.0 用戶端 ID

請按照下列步驟申請 OAuth 用戶端 ID,並為其進行設定 應用程式。這個範例使用的應用程式,其可存取整個 OAuth 流程 ,如我們範例中所示設定程序可能不同 其他導入情境

  1. 前往 Google API 控制台 然後選取所需專案
  2. 從選單中選取「API 與」服務 >憑證
  3. 在「Credentials」(憑證) 頁面上,按一下「Create Credentials」(建立憑證) > OAuth 用戶端 ID
  4. 選取您的「應用程式類型」。在這個範例中,應用程式類型為 網頁應用程式
  5. 註冊應用程式可存取 Google API 的來源 如下所示:

    1. 為識別用戶端 ID,請輸入名稱。
    2. 在「授權的 JavaScript 來源」欄位中,輸入 應用程式。這個欄位不允許使用萬用字元。

      您可以輸入多個來源,讓應用程式在不同的位置執行 通訊協定、網域或子網域您輸入的網址可以 開始 OAuth 要求。

      以下範例是本機開發網址 (我們的範例使用 localhost:8080) 和正式版網址。

      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 Auth 程式庫,可與這個用戶端程式庫搭配使用。

在啟動可存取 Library API 的公開應用程式之前, 您的應用程式必須經過 Google 審查。「未驗證的應用程式」訊息會出現在 測試應用程式時的畫面 通過驗證

設定用戶端程式庫

PHP 用戶端程式庫會為您處理所有後端 API 呼叫 方便使用的物件,包括一些常見 API 工作的程式碼範例。 首先,下載並安裝 PHP 專用的 Google Photos Library API 用戶端程式庫,以及 來自 GitHub 的依附元件。 接著,設定 PHP 的 OAuth2 憑證。

下載選項

使用 composer ,在開發環境中加入這個程式庫做為依附元件。執行 執行下列指令,將程式庫新增至專案設定並下載 複製到 vendor/ 目錄

composer require google/photos-library

此外,您也可以前往 複製 存放區下載壓縮 tarball

設定 PHP 的 OAuth2 憑證

此用戶端程式庫可與 Google 驗證程式庫 PHP。如需更多資訊 請參閱將 OAuth 2.0 與 Google API 用戶端程式庫搭配使用, 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 上的 samples 讓你自行探索。