為服務帳戶使用 OAuth 2.0

注意:YouTube Content ID API 為 YouTube 內容合作夥伴使用,並未開放所有開發人員或所有 YouTube 使用者存取。如果 Google API 控制台顯示的服務中沒有 YouTube Content ID API,請參閱 YouTube 說明中心,進一步瞭解 YouTube 合作夥伴計畫。

背景

服務帳戶是一種 Google 帳戶,可用來授權 API 呼叫,使用者不需要進行任何互動。有別於其他 OAuth 2.0 流程,使用服務帳戶適用的 OAuth 2.0 流程進行驗證及授權作業不會在網路瀏覽器中進行。服務帳戶的 OAuth 2.0 會透過加密編譯簽章進行存取授權。只要程式碼能存取基礎加密編譯金鑰,就可以繼續進行 API 呼叫,不必擔心重新整理和存取權杖等問題。對於在伺服器上執行的自動化應用程式,不需要人為介入。

您現在可以使用適用於服務帳戶的 OAuth 2.0 流程來授權 YouTube Content ID API 要求。您也可以使用此流程,授權 YouTube Data API 和 YouTube Analytics API 呼叫支援委派參數的方法。在這些情況下,採用此流程的應用程式即為授權 API 要求以「YouTube 內容合作夥伴」(使用 YouTube CMS 帳戶) 的身分,而非 YouTube 頻道擁有者。

設定服務帳戶

以下螢幕截圖說明建立與您 API 專案相關聯的服務帳戶的程序,您必須確認該帳戶已經啟用適當的 API (YouTube Data API v3、YouTube Analytics API、YouTube Content ID API 等)。

  1. 造訪 https://cloud.google.com/console,並選擇現有的 API 專案 (或建立新專案)。
  2. 在左側欄中,選取「API 與驗證」
  3. 確認專案已啟用 YouTube Content ID API。
  4. 在左側欄中,選取「憑證」
  5. 按一下「Create new client ID」(建立新的用戶端 ID) 按鈕。
  6. 從列出的選項中選擇「服務帳戶」,然後按一下「建立用戶端 ID」。系統會將服務帳戶的私密金鑰下載到您的電腦。這是金鑰的唯一副本,您必須將金鑰儲存在應用程式可讀取的安全位置。
  7. 記下服務帳戶的電子郵件地址。(電子郵件地址會顯示在「憑證」頁面上)。您必須提供這個地址,授權服務帳戶存取您的 YouTube CMS 帳戶。
  8. 前往 https://www.youtube.com/content_owner_users 並按一下 [新使用者] 按鈕。
  9. 在「電子郵件地址」欄位中輸入步驟 7 的服務帳戶電子郵件地址,然後為使用者選擇適當的角色。然後按一下「邀請」按鈕。
  10. 您的服務帳戶會自動接受邀請,之後該帳戶就能存取以您的 YouTube CMS 帳戶代理的 YouTube API。
  11. 請按照授權要求指南中 OAuth 2.0 服務帳戶流程的操作說明,使用服務帳戶授權要求。

發出 API 呼叫

大部分語言的用戶端程式庫原生支援 OAuth 2.0 的服務帳戶流程。您必須遵循程式庫說明文件中的範例,以適當的 YouTube API 範圍執行基本授權作業。

請注意,請務必使用適當的委派參數,代表與 CMS 帳戶相連結的特定頻道採取行動。如要查看與您的 CMS 帳戶連結的頻道清單,請前往 https://cms.youtube.com/edit_user_accounts