實作:字幕

以下範例說明如何使用 YouTube Data API (第 3 版) 執行與字幕相關的功能。

擷取影片的字幕軌清單

如要擷取特定影片的可用字幕軌清單,請呼叫 captions.list 方法。將 videoId 參數值設為 YouTube 影片 ID,即可明確識別要擷取字幕的影片。您的要求必須使用 OAuth 2.0 授權。

以下要求會擷取 Google Stories YouTube 頻道影片的字幕清單:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list?
part=snippet
&videoId=PRU2ShMzQRg

如需程式碼範例,請參閱 captions.list 方法的說明文件。

建立字幕軌

這個查詢無法使用 APIs Explorer 進行測試,因為 APIs Explorer 不支援上傳檔案,而這是這個方法的必要條件。

您可以使用 API 的 captions.insert 方法,為影片上傳新的字幕群組。上傳曲目時,請務必為下列 caption 資源屬性指定值:

上傳字幕音軌時,可使用下列其他選項:

  • 如果將 sync 參數設為 true,YouTube 就會忽略上傳字幕檔中的任何時間碼,並為字幕產生新的時間碼。

    如果上傳的字幕沒有時間碼,或是你懷疑檔案中的時間碼有誤,並希望 YouTube 嘗試修正,應將 sync 參數設為 true

  • 如果將 caption 資源的 snippet.isDraft 屬性設為 true,則曲目不會公開顯示。

如需程式碼範例,請參閱 captions.insert 方法的說明文件。

下載字幕軌

這項查詢無法使用 APIs Explorer 進行測試,因為 APIs Explorer 不支援下載檔案。

如要下載特定字幕音軌,請呼叫 captions.download 方法。將 id 參數值設為 YouTube 字幕音軌 ID,這個 ID 可用來識別你要下載的字幕音軌。您的要求必須使用 OAuth 2.0 授權。

v3 API 支援下列選項:

  • 如要指定字幕軌應以特定格式傳回,請設定 tfmt 參數值,以便識別所需格式。參數定義會列出支援的值。

  • 如要擷取字幕音軌的翻譯內容,請將 tlang 參數值設為 ISO 639-1 雙字母語言代碼,以識別所需的字幕語言。系統會使用 Google 翻譯等機器翻譯服務產生翻譯內容。

如需程式碼範例,請參閱 captions.download 方法的說明文件。

更新字幕軌

這個 API 可用來變更字幕軌的草稿狀態,或為檔案上傳新的字幕軌。

您可以使用 API Explorer 測試是否能變更曲目草稿狀態。不過,由於工具不支援上傳檔案,因此無法使用 API Explorer 更新實際的字幕軌。

以下要求會擷取 Google Stories YouTube 頻道影片的字幕清單:

這項要求會將字幕音軌的草稿狀態更新為 true,表示該音軌不會公開顯示。如要在 API Explorer 中完成要求,您必須設定 id 屬性的值,以便識別字幕音軌。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.update?
part=snippet

如需程式碼範例,請參閱 captions.update 方法的說明文件。

刪除字幕軌

以下範例說明如何刪除字幕音軌。這個範例包含以下步驟: