下列範例說明如何使用 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
資源屬性值:
snippet.videoId
- 用於識別要新增字幕軌的影片。snippet.language
- 字幕軌的語言。snippet.name
:字幕軌的名稱。
上傳字幕軌時,您可以使用下列選項:
-
如果將
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
方法的說明文件。
刪除字幕軌
本範例顯示如何刪除字幕軌。這個範例包含下列步驟:
-
步驟 1:擷取字幕軌 ID
按照上述步驟擷取影片的字幕軌清單。此清單可用於顯示字幕軌清單,並以每個曲目的 ID 做為索引鍵。
-
步驟 2:刪除播放軌
呼叫
captions.delete
方法刪除特定影片。在要求中,id
參數會指定您要刪除的曲目的字幕軌 ID。要求必須使用 OAuth 2.0 授權。如果您要在 APIs Explorer 中測試這項查詢,就必須將有效的字幕軌 ID 替換成id
參數值。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.delete? id=CAPTION_TRACK_ID