電腦版應用程式總覽

Google Picker API 可讓使用者選取或上傳 Google 雲端硬碟檔案。使用者可以授權電腦應用程式存取自己的 Google 雲端硬碟資料,以安全且經過授權的方式與檔案互動。

Google 挑選器可做為儲存在雲端硬碟中的檔案「開啟檔案」對話方塊,並提供多項功能:

  • Google 雲端硬碟使用者介面類似的外觀和風格。
  • 多個檢視畫面,顯示雲端硬碟檔案的預覽畫面和縮圖。
  • 在使用者預設瀏覽器的新分頁中,重新導向至 Google 挑選器。

請注意,Google 挑選器不允許使用者整理、移動或複製檔案。如要管理檔案,必須使用 Google Drive API 或雲端硬碟使用者介面。

必要條件

使用 Google Picker 的應用程式必須遵守所有現行的《服務條款》。最重要的是,您必須在要求中正確識別自己。

您也必須擁有 Google Cloud 專案

設定環境

如要開始使用 Google Picker API,請先設定環境。

啟用 API

使用 Google API 前,請先在 Google Cloud 專案中啟用這些 API。您可以在單一 Google Cloud 專案中啟用一或多個 API。
  • 在 Google Cloud 控制台中啟用 Google Picker API。

    啟用 API

建立 API 金鑰

API 金鑰是長字串,包含大小寫英文字母、數字、底線和連字號,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe。這個驗證方法用於匿名存取公開資料,例如使用「網路上任何知道連結的人」共用設定分享的 Google Workspace 檔案。詳情請參閱「管理 API 金鑰」。

建立 API 金鑰的方法如下:

  1. 在 Google Cloud 控制台中,依序前往「選單」圖示 >「API 和服務」 >「憑證」

    前往「憑證」

  2. 依序按一下「建立憑證」>「API 金鑰」
  3. 系統會顯示新的 API 金鑰。
    • 按一下「複製」圖示 ,即可複製 API 金鑰,在應用程式的程式碼中使用。您也可以在專案憑證的「API 金鑰」部分找到 API 金鑰。
    • 為避免未經授權的使用行為,建議您為可使用該 API 金鑰的 API 及使用位置新增限制。詳情請參閱「新增 API 限制」一文。

授權電腦版應用程式的憑證

如要驗證使用者身分並存取應用程式中的使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。如果您的應用程式在多個平台上執行,則必須為每個平台分別建立用戶端 ID。
  1. 前往 Google Cloud 控制台,依序點選「選單」圖示 > Google Auth platform >「用戶端」

    前往「客戶」

  2. 按一下「建立用戶端」
  3. 依序點選「應用程式類型」>「電腦應用程式」
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。

如要授權應用程式存取先前已授予的檔案,請按照下列步驟操作:

  1. 您必須按照「使用 OAuth 2.0 存取 Google API」一文中的說明,取得具有 drive.filedrivedrive.readonly 範圍的 OAuth 2.0 權杖。如要進一步瞭解範圍,請參閱「選擇 Google Drive API 範圍」。

  2. 將 OAuth 2.0 權杖傳遞至 Google 雲端硬碟 API,即可讀取及修改使用者先前授予存取權的檔案。

顯示 Google 挑選器

電腦應用程式的 Google Picker API 會重新導向至使用者預設瀏覽器的新分頁中的 Google Picker。使用者授予存取權並選取相關檔案後,Google Picker 會透過回呼網址返回呼叫應用程式。如要在用戶端網頁中開啟 Google Picker API,請改用網頁應用程式專用的 Google Picker API。詳情請參閱「網頁應用程式總覽」。

如要允許使用者授予其他檔案的存取權,或挑選檔案以用於桌面應用程式流程,請按照下列步驟操作:

  1. 按照「使用 OAuth 2.0 存取 Google API」一文的說明,要求存取 drive.file 範圍,在新瀏覽器分頁中開啟 OAuth 2.0 存取頁面。如要進一步瞭解範圍,請參閱「選擇 Google Drive API 範圍」。

    請注意,桌面應用程式只能使用 drive.file 範圍,且不得與任何其他範圍合併。

  2. 新瀏覽器分頁的網址接受所有標準 OAuth 查詢字串參數

    您必須將 prompttrigger_onepick 網址參數附加至 OAuth 2.0 授權網址要求。您也可以使用幾個選用參數自訂 Google Picker:

    參數 說明 狀態
    prompt=consent 提示使用者授予檔案存取權。 必填
    trigger_onepick=true 啟用 Google 挑選器。 必填
    allow_multiple=true 如果為 true,則允許使用者選取多個檔案。 選用
    mimetypes=MIMETYPES 以半形逗號分隔的 MIME 類型清單,用於篩選搜尋結果。如未設定,檢視畫面會顯示所有 MIME 類型的檔案。 選用
    file_ids=FILE_IDS 以半形逗號分隔的檔案 ID 清單,用於篩選搜尋結果。如未設定,檢視畫面會顯示所有檔案。 選用

    以下範例顯示 OAuth 2.0 授權網址要求:

    https://accounts.google.com/o/oauth2/v2/auth? \
    client_id=CLIENT_ID \
    &scope=https://www.googleapis.com/auth/drive.file \
    &redirect_uri=REDIRECT_URI \
    &response_type=code \
    &access_type=offline \
    &prompt=consent \
    &trigger_onepick=true
    

    更改下列內容:

    • CLIENT_ID:桌面應用程式的用戶端 ID。

    • REDIRECT_URI:授權伺服器在驗證成功後,會將使用者瀏覽器重新導向至這個網址。例如:https://www.cymbalgroup.com/oauth2callback

      指定的 redirect_uri 必須是公開的 HTTPS 網址。如要為 redirect_uri 使用自訂通訊協定或 localhost 網址,必須使用公開的 HTTPS 網址,然後重新導向至自訂通訊協定或 localhost 網址。

  3. 使用者授予存取權並選取相關檔案後,OAuth 會重新導向至要求中指定的 redirect_uri,並附加下列網址參數:

    • picked_file_ids:如果使用者授予存取權並選取檔案,則為所選檔案 ID 的逗號分隔清單。

    • code:存取權杖或存取碼,視要求中設定的 response_type 參數而定。這個參數包含新的授權碼

    • scope:要求中包含的範圍。

    • error:如果使用者在同意聲明流程中取消要求,系統會顯示錯誤訊息。

    以下範例顯示 OAuth 2.0 授權網址回應:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. 應用程式必須將步驟 3 中的授權碼換成新的 OAuth 2.0 權杖。詳情請參閱「Exchange authorization code for refresh and access tokens」。

  5. 應用程式接著可以使用步驟 3 中網址參數的檔案 ID,以及步驟 4 中取得的 OAuth 2.0 權杖,呼叫 Drive API。詳情請參閱「Google Drive API 總覽」。