以下示例展示了如何使用 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
方法的文档。
创建字幕轨道
无法使用 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,以便唯一标识您要下载的字幕轨道。您的请求必须使用 OAuth 2.0 进行授权。
v3 API 支持以下选项:
-
要指定应以特定格式返回字幕轨道,请设置
tfmt
参数值以标识所需的格式。参数定义列出了支持的值。 -
如需检索字幕轨道的翻译,请将
tlang
参数值设为 ISO 639-1 双字母语言代码,以指定所需的字幕语言。翻译是通过谷歌翻译等机器翻译生成的。
如需查看代码示例,请参阅 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