本快速入門指南說明如何設定簡單的 PHP 指令列應用程式,向 YouTube Data API 發出要求。本快速入門導覽課程實際上說明瞭如何提出兩個 API 要求:
- 您會使用 API 金鑰來辨識您的應用程式,以擷取 GoogleDevelopers YouTube 頻道的相關資訊。
- 您將使用 OAuth 2.0 用戶端 ID 提交已授權要求來擷取您自己 YouTube 頻道的相關資訊。
必要條件
如要執行本快速入門導覽課程,您必須符合以下條件:
- 已安裝指令列介面 (CLI) 和 JSON 擴充功能的 PHP 5.4 以上版本。
- 全域安裝的 Composer 依附元件管理工具 {: target="_blank"}
- 適用於 PHP 的 Google API 用戶端程式庫:
- 如果您之前未安裝用戶端程式庫:
composer require google/apiclient:^2.0
- 如果您之前已經安裝用戶端程式庫,建議您進行更新,以確保您擁有所測試程式庫的最新版本:
composer update google/apiclient --with-dependencies
- 如果您之前未安裝用戶端程式庫:
步驟 1:設定專案和憑證
在 API 主控台建立或選取專案。在 API 控制台中為您的專案完成以下工作:
在資料庫面板中搜尋 YouTube Data API v3。點進該 API 的列表,並確定您的專案已啟用該 API。
在憑證面板中建立兩個憑證:
建立 API 金鑰 您將使用 API 金鑰發出不需要使用者授權的 API 要求。舉例來說,您不需要取得使用者授權,即可擷取公開 YouTube 頻道的相關資訊。
建立 OAuth 2.0 用戶端 ID 將應用程式類型設為 [其他]。針對需要使用者授權的要求,您必須使用 OAuth 2.0 憑證。例如,您必須取得使用者授權,才能擷取目前已驗證使用者的 YouTube 頻道相關資訊。
下載包含 OAuth 2.0 憑證的 JSON 檔案。檔案的名稱類似
client_secret_CLIENTID.json
,其中CLIENTID
是專案的用戶端 ID。
步驟 2:設定並執行範例
使用側邊面板中的 APIs Explorer 小工具取得程式碼範例,以擷取 GoogleDevelopers YouTube 頻道的相關資訊。此要求使用 API 金鑰來識別您的應用程式,且不需要使用者授權,或執行此範例的使用者的任何特殊權限。
- 開啟 API channels.list 方法的說明文件。
在這個頁面中,「常見用途」一節中的表格說明瞭這個方法的幾種常見方式。表格中的第一個商家資訊是依頻道 ID 列出結果。
按一下第一個商家資訊的程式碼符號,以開啟並填入全螢幕 API Explorer。
全螢幕 API Explorer 的左側會顯示以下內容:
「Request parameters」(要求參數) 標頭的下方列出了該方法支援的參數清單。
part
和id
參數值應進行設定。id
參數值UC_x5XG1OV2P6uZZ5FSM9Ttw
是 GoogleDevelopers YouTube 頻道的 ID。參數下方有一個名為「憑證」的部分,該部分中的下拉式選單會顯示 API 金鑰的值。根據預設,APIs Explorer 會使用示範憑證,以便輕鬆上手。不過,您必須使用自己的 API 金鑰在本機執行範例。
全螢幕 API Explorer 的右側會顯示不同語言的程式碼範例分頁。選取 [PHP] 分頁標籤。
複製程式碼範例,然後儲存在名為
example.php
的檔案中。在下載的範例中,找出
YOUR_API_KEY
字串,並將其替換成您在本快速入門導覽課程步驟 1 中建立的 API 金鑰。透過指令列執行範例。在工作目錄中執行:
php example.php
範例應執行要求,並將回應列印至
STDOUT
。
步驟 3:執行已授權的要求
在這個步驟中,您將修改程式碼範例,這樣就不會擷取 GoogleDevelopers YouTube 頻道的相關資訊,而是擷取您 your YouTube 頻道的相關資訊。此要求需要使用者授權。
返回 API 的 channels.list 方法的說明文件。
在「常見用途」區段中,按一下資料表中第三個商家資訊的程式碼符號。此應用實例就是為「我的頻道」呼叫
list
方法。同樣地,在全螢幕 API Explorer 的左側,您會看到參數清單,後面接著「憑證」區段。然而,如果您擷取了 GoogleDevelopers 管道相關資訊,該範例有兩項變更:
在參數區段中,
mine
參數值應設為true
,而非id
參數值。這會指示 API 伺服器擷取目前已驗證使用者頻道的相關資訊。在「Credentials」(憑證) 區段中,下拉式選單應選取 Google OAuth 2.0 選項。
此外,如果您按一下「顯示範圍」連結,則應檢查 https://www.googleapis.com/auth/youtube.readonly 範圍。
和上例一樣,選取 PHP 分頁,複製程式碼範例,然後儲存到
example.php
中。在程式碼中找出
YOUR_CLIENT_SECRET_FILE.json
字串,並將其替換成您在本快速入門導覽課程步驟 1 中下載的用戶端密鑰檔案的位置。透過指令列執行範例。在工作目錄中執行:
php example.php
-
從主控台複製網址,然後在瀏覽器中開啟該網址。
如果您尚未登入 Google 帳戶,系統會提示您登入。如果您登入多個 Google 帳戶,系統會要求您選取一個授權帳戶。
按一下按鈕來授予您的應用程式在程式碼範例中指定的範圍的存取權限。
-
從瀏覽器複製驗證碼,然後貼到終端機中。接著,您可以關閉用於驗證流程的瀏覽器分頁。
API 回應應再次列印至
STDOUT
。
延伸閱讀
- Google Developers Console 說明文件
- PHP 適用的 Google API 用戶端程式庫說明文件
- GitHub 上的 Google API 用戶端程式庫,以及 YouTube API 的自動產生的類別。(在頁面中找出
YouTube
資料夾和YouTube.php
檔案。 - YouTube Data API 參考說明文件