Java 快速入門導覽課程

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

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

必要條件

如要執行本快速入門導覽課程,您必須符合以下條件:

步驟 1:設定專案和憑證

API 主控台建立或選取專案。在 API 控制台中為您的專案完成以下工作:

  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:準備專案

請按照下列步驟完成 Gradle 專案準備:

  1. 在工作目錄中執行下列指令,以建立新的專案結構:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. 將建立 OAuth 2.0 用戶端 ID 後下載的 JSON 檔案移至工作目錄下方的 src/main/resources 目錄,然後將檔案重新命名為 client_secret.json

  3. 開啟工作目錄中的 build.gradle 檔案,並將內容替換為以下內容:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION'
    }
    
  4. build.gradle 檔案中,您需要將 REVISIONCL_VERSION 變數替換為 YouTube Data API 用戶端程式庫說明文件中的兩個值。以下螢幕截圖顯示 YouTube 數據分析 API 說明文件,顯示這兩個變數在網頁上的顯示位置。

    JavaDoc 參考資料的螢幕截圖,說明如何找出「REVISION」和「CL_VERSION」變數的值

步驟 3:設定並執行範例

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

  1. 開啟 API channels.list 方法的說明文件。
  2. 在這個頁面中,「常見用途」一節中的表格說明瞭這個方法的幾種常見方式。表格中的第一個商家資訊是依頻道 ID 列出結果。

    按一下第一個商家資訊的程式碼符號,以開啟並填入全螢幕 API Explorer。

    這個 ID 用於識別資料表中程式碼符號連結的位置,該資料表列出了 Channel.list 說明文件的應用實例。該圖片的替代文字會將圖片識別為程式碼符號,並指定與該連結相關聯的用途。

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

    1. 「Request parameters」(要求參數) 標頭的下方列出了該方法支援的參數清單。partid 參數值應進行設定。id 參數值 UC_x5XG1OV2P6uZZ5FSM9Ttw 是 GoogleDevelopers YouTube 頻道的 ID。

    2. 參數下方有一個名為「憑證」的部分,該部分中的下拉式選單會顯示 API 金鑰的值。根據預設,APIs Explorer 會使用示範憑證,以便輕鬆上手。不過,您必須使用自己的 API 金鑰在本機執行範例。

      在全螢幕 API Explorer 和已選取 [API 金鑰] 選項的下拉式選單中顯示「憑證」的圖片。

  4. 全螢幕 API Explorer 的右側會顯示不同語言的程式碼範例分頁。選取 [Java] 分頁標籤。

  5. 複製程式碼範例,然後將其儲存在名為 src/main/java/ApiExample.java 的檔案中。每個範例都使用相同的類別名稱 (ApiExample),因此您不需要修改 build.gradle 檔案來執行不同的範例。

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

  7. 透過指令列執行範例。在工作目錄中執行:

    gradle -q run

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

步驟 4:執行已授權的要求

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

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

  2. 在「常見用途」區段中,按一下資料表中第三個商家資訊的程式碼符號。此應用實例就是為「我的頻道」呼叫 list 方法。

  3. 同樣地,在全螢幕 API Explorer 的左側,您會看到參數清單,後面接著「憑證」區段。然而,如果您擷取了 GoogleDevelopers 管道相關資訊,該範例有兩項變更:

    1. 在參數區段中,mine 參數值應設為 true,而非 id 參數值。這會指示 API 伺服器擷取目前已驗證使用者頻道的相關資訊。

    2. 在「Credentials」(憑證) 區段中,下拉式選單應選取 Google OAuth 2.0 選項。

      此外,如果您按一下「顯示範圍」連結,則應檢查 https://www.googleapis.com/auth/youtube.readonly 範圍。

      在全螢幕 API Explorer 中顯示範圍圖片,且已選取使用「Google OAuth 2.0」憑證的選項。

  4. 和上例一樣,選取「Java」分頁標籤,複製程式碼範例,然後儲存到 src/main/java/ApiExample.java

  5. 透過指令列執行範例。在工作目錄中執行:

    gradle -q run

  6. 範例會嘗試在預設瀏覽器中開啟新視窗或分頁。如果失敗,請從終端機複製網址,並在瀏覽器中手動開啟網址。

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

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

  8. 這個範例會自動繼續,您也可以關閉用於驗證流程的瀏覽器分頁。

    API 回應應再次列印至 STDOUT

延伸閱讀