如要開始使用 Google Photos API 搭配 PHP 用戶端程式庫,您必須 在您的開發環境中設定用戶端程式庫。 在執行這項操作前,請先設定專案,方法是透過 Google API 控制台啟用 API,並設定 OAuth 2.0 用戶端 ID。
您的應用程式代表 Google 相簿使用者。舉例來說,當您在使用者的 Google 相簿媒體庫中建立相簿,或將媒體項目上傳至使用者的 Google 相簿帳戶時,使用者會透過 OAuth 2.0 通訊協定授權這些 API 要求。
OAuth 2.0 用戶端 ID 可讓應用程式使用者登入、驗證 並使用 Photos APIPhotos API 不支援 或服務帳戶如要使用這個 API,使用者必須登入有效的 Google 。
設定應用程式
啟用 API
您必須先為專案啟用相片 API,才能使用這項功能。
- 前往 Google API 控制台。
- 在選單列中,選取專案或建立新專案。
- 如要開啟 Google API 程式庫,請從導覽選單選取 API 與服務 >程式庫。
- 搜尋「Google Photos API」。選取正確的結果,然後按一下「啟用」。
要求 OAuth 2.0 用戶端 ID
請按照下列步驟要求 OAuth 用戶端 ID,並為應用程式設定用戶端 ID。這個範例使用的應用程式,其可存取整個 OAuth 流程 ,如我們範例中所示設定程序可能不同 其他導入情境。
- 前往 Google API 控制台 然後選取所需專案
- 在選單中,依序選取「API 和服務」>「憑證」。
- 在「Credentials」(憑證) 頁面上,按一下「Create Credentials」(建立憑證) > OAuth 用戶端 ID。
- 選取「應用程式類型」。在這個範例中,應用程式類型為「Web application」。
註冊應用程式可存取 Google API 的來源,如下所示:
- 如要識別用戶端 ID,請輸入名稱。
在「授權的 JavaScript 來源」欄位中,輸入 應用程式。這個欄位不允許使用萬用字元。
您可以輸入多個來源,讓應用程式在不同的通訊協定、網域或子網域上執行。您輸入的網址可用於啟動 OAuth 要求。
以下範例是本機開發網址 (我們的範例使用
localhost:8080) 和正式版網址。http://localhost:8080 https://myproductionurl.example.com「授權的重新導向 URI」欄位是接收到的端點 OAuth 2.0 伺服器的回應。通常包括開發環境,並指向應用程式中的路徑。
http://localhost:8080/auth/google/callback https://myproductionurl.example.com/auth/google/callback按一下「建立」。
-
在產生的 OAuth 用戶端對話方塊中,下載 JSON 檔案 包含用戶端設定用戶端詳細資料包含 包括:
- 用戶端 ID
- 用戶端密碼
這個 JSON 檔案稍後會用來設定 適用於 PHP 的 Google Auth 程式庫,可與這個用戶端程式庫搭配使用。
啟用可存取 Photos API 的公開應用程式之前, 您的應用程式必須經過 Google 審查。在您測試應用程式之前,畫面上會顯示「未驗證的應用程式」訊息,直到應用程式通過驗證為止。
設定用戶端程式庫
PHP 用戶端程式庫會為您處理所有後端 API 呼叫,並公開友善的物件供您使用,包括一些常見 API 工作範例程式碼。首先,下載並安裝 PHP 專用的 Google Photos API 用戶端程式庫,以及 來自 GitHub 的依附元件。 接著,設定 PHP 的 OAuth2 憑證。
下載選項
使用 composer 將程式庫納入開發環境中的依附元件。執行
執行下列指令,將程式庫新增至專案設定並下載
複製到 vendor/ 目錄
composer require google/photos-library此外,您也可以前往 複製 存放區或 下載壓縮 tarball。
設定 PHP 的 OAuth2 憑證
此用戶端程式庫可與 Google 驗證程式庫 PHP。詳情請參閱「使用 OAuth 2.0 搭配適用於 PHP 的 Google API 用戶端程式庫」。
設定 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 讓你自行探索。