實作:字幕

下列範例說明如何使用 YouTube Data API (v3) 來執行字幕的相關函式。

擷取影片的字幕軌清單

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

以下要求會針對 Google 新聞 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 支援變更字幕軌的草稿狀態、上傳新字幕檔,或同時上傳兩者。

您可以使用 APIs Explorer 測試變更測試群組草稿狀態的功能。不過,您無法使用 APIs Explorer 更新實際的字幕軌,因為這項工具不支援上傳檔案。

以下要求會針對 Google 新聞 YouTube 頻道擷取影片的字幕清單:

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

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

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

刪除字幕軌

本範例顯示如何刪除字幕軌。這個範例包含下列步驟: