以下示例展示了如何使用 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