以下示例展示了如何使用 YouTube Data API (v3) 执行与字幕相关的函数。
检索视频的字幕轨列表
如需检索特定视频的可用字幕轨道列表,请调用 captions.list
方法。将 videoId
参数值设置为 YouTube 视频 ID,用于唯一标识您要检索字幕的视频。您的请求必须使用 OAuth 2.0 授权。
以下请求会检索 Google 短片故事 YouTube 频道上某个视频的字幕列表:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list? part=snippet &videoId=PRU2ShMzQRg
如需查看代码示例,请参阅 captions.list
方法的文档。
创建字幕轨道
您无法使用 API Explorer 测试此查询,因为 API Explorer 不支持上传文件,而这是此方法的要求。
您可以使用该 API 的 captions.insert
方法为视频上传新的字幕轨道。上传曲目时,您必须为以下 caption
资源属性指定值:
snippet.videoId
- 用于标识要添加字幕轨的视频。snippet.language
- 字幕轨的语言。snippet.name
- 字幕轨道的名称。
上传字幕轨道时,您还可以使用以下其他选项:
-
如果您将
sync
参数设置为true
,YouTube 会忽略上传的字幕文件中的所有时间码,并为字幕生成新的时间码。如果您上传的转写内容没有时间戳,或者您怀疑文件中的时间戳不正确,并希望 YouTube 尝试修正它们,则应将
sync
参数设置为true
。 -
如果您将
caption
资源的snippet.isDraft
属性设置为true
,轨道将不会公开显示。
如需查看代码示例,请参阅 captions.insert
方法的文档。
下载字幕轨
您无法使用 API Explorer 测试此查询,因为 API 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 短片故事 YouTube 频道上某个视频的字幕列表:
该请求会将字幕轨道的草稿状态更新为 true
,这意味着该轨道不会公开显示。如需在 API 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 向请求授权。如果您要在 API Explorer 中测试此查询,则需要将有效的字幕轨道 ID 替换为id
参数值。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.delete? id=CAPTION_TRACK_ID