PHP 快速入門

本快速入門指南說明如何設定簡單的 PHP 指令列應用程式,向 YouTube Data API 提出要求。本快速入門導覽課程實際上說明如何發出兩項 API 要求:

  1. 您將使用 API 金鑰 (用於識別應用程式) 擷取 GoogleDevelopers YouTube 頻道的相關資訊。
  2. 您將使用 OAuth 2.0 用戶端 ID 提交授權要求,擷取自己的 YouTube 頻道相關資訊。

必要條件

如要執行本快速入門導覽課程,您需要:

  • PHP 5.4 以上版本,並已安裝指令列介面 (CLI) 和 JSON 擴充功能。
  • 全域安裝的 Composer 依附元件管理工具
  • 適用於 PHP 的 Google API 用戶端程式庫:
    • 如果您先前未安裝用戶端程式庫:
      composer require google/apiclient:^2.0
    • 如果您先前已安裝用戶端程式庫,建議您更新程式庫,確保您測試的程式庫具有最新類別:
      composer update google/apiclient --with-dependencies

步驟 1:設定專案和憑證

在 Cloud 控制台中建立或選取專案。在專案的 Cloud 控制台中完成下列工作:

  1. 在程式庫面板中,搜尋 YouTube Data API v3。按一下該 API 的資訊,確認專案已啟用該 API。

  2. 在憑證面板中,建立兩組憑證:

    1. 建立 API 金鑰 您可以使用 API 金鑰發出不需要使用者授權的 API 要求。舉例來說,如要擷取公開 YouTube 頻道的資訊,不需要取得使用者授權。

    2. 建立 OAuth 2.0 用戶端 ID 將應用程式類型設為「電腦版應用程式」。對於需要使用者授權的要求,您必須使用 OAuth 2.0 憑證。舉例來說,您需要使用者授權,才能擷取目前已驗證使用者的 YouTube 頻道相關資訊。

      下載內含 OAuth 2.0 憑證的 JSON 檔案。檔案名稱類似 client_secret_CLIENTID.json,其中 CLIENTID 是專案的用戶端 ID。

步驟 2:設定並執行範例

使用側邊面板中的 APIs Explorer 小工具,取得用於擷取 GoogleDevelopers YouTube 頻道相關資訊的程式碼範例。這項要求會使用 API 金鑰識別應用程式,不需要使用者授權,也不需要執行範例的使用者授予任何特殊權限。

  1. 開啟 API 的 channels.list 方法說明文件。
  2. 該頁面的「常見用途」部分包含一個表格,說明這個方法的幾種常見用法。表格中的第一個項目是依頻道 ID 列出結果。

    按一下第一個房源的程式碼符號,開啟並填入全螢幕的 API Explorer。

    這張圖片標示出 channels.list 說明文件用途表格中,程式碼符號連結的位置。該圖片的替代文字會將圖片識別為程式碼符號,並指定與該連結相關聯的用途。

  3. 全螢幕 APIs Explorer 的左側會顯示下列內容:

    1. 在「Request parameters」標題下方,會列出方法支援的參數。請務必設定 part 和 id 參數值。id 參數值 UC_x5XG1OV2P6uZZ5FSM9Ttw 是 GoogleDevelopers YouTube 頻道的 ID。

    2. 參數下方有一個名為「Credentials」(憑證) 的部分。該區段的下拉式選單應顯示「API key」(API 金鑰) 值。APIs Explorer 預設會使用試用憑證,方便您快速上手。但您會使用自己的 API 金鑰在本機執行範例。

      這張圖片顯示全螢幕 APIs Explorer 中的「Credentials」,以及已選取「API 金鑰」選項的下拉式選單。

  4. 全螢幕 APIs Explorer 的右側會顯示分頁,其中包含不同語言的程式碼範例。選取「PHP」PHP分頁標籤。

  5. 複製程式碼範例,並儲存至名為 example.php 的檔案。

  6. 在下載的範例中,找出 YOUR_API_KEY 字串,並替換為您在本快速入門導覽課程步驟 1 中建立的 API 金鑰。

  7. 透過指令列執行範例。在目前使用的目錄中執行:

    php example.php

  8. 範例應執行要求,並將回應列印至 STDOUT。

步驟 3:執行授權要求

在這個步驟中,您將修改程式碼範例,讓程式擷取您的 YouTube 頻道資訊,而不是 GoogleDevelopers YouTube 頻道資訊。這項要求需要使用者授權。

  1. 返回 API 的 channels.list 方法說明文件。

  2. 在「常見用途」部分,按一下表格中第三個項目的程式碼符號。這個用途是呼叫「我的頻道」的 list 方法。

  3. 同樣地,在全螢幕 APIs Explorer 的左側,您會看到參數清單,接著是「憑證」部分。不過,與擷取 GoogleDevelopers 頻道資訊的範例相比,有兩處不同:

    1. 在參數部分,請勿設定 id 參數值,而是將 mine 參數值設為 true。這會指示 API 伺服器擷取目前已驗證使用者頻道的相關資訊。

    2. 在「憑證」部分,下拉式選單應選取「Google OAuth 2.0」選項。

      此外,如果點選「顯示範圍」連結,應會看到已勾選「https://www.googleapis.com/auth/youtube.readonly」範圍。

      圖片:全螢幕 APIs Explorer 中的範圍,以及已選取「Google OAuth 2.0」憑證的選項。

  4. 如同先前的範例,選取「PHP」PHP分頁,複製程式碼範例,然後儲存至 example.php。

    在程式碼中找出 YOUR_CLIENT_SECRET_FILE.json 字串,並替換為您在本快速入門導覽課程步驟 1 中下載的用戶端密鑰檔案位置。

  5. 透過指令列執行範例。在目前使用的目錄中執行:

    php example.php

  6. 從控制台複製網址,然後在瀏覽器中開啟。

    如果尚未登入 Google 帳戶,系統會提示您登入。如果您登入多個 Google 帳戶,系統會要求您選取要用於授權的帳戶。

  7. 按一下按鈕,授予應用程式存取程式碼範例中指定範圍的權限。

  8. 從瀏覽器複製授權碼,然後貼到終端機。接著,您可以關閉用於驗證流程的瀏覽器分頁。

    API 回應應再次輸出至 STDOUT。

延伸閱讀