我们正在更新 Data API,以便与 YouTube 统计 Shorts 短视频观看次数的方式保持一致。
了解详情
实现:字幕
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
以下示例展示了如何使用 YouTube Data API (v3) 执行与字幕相关的函数。
检索视频的字幕轨列表
创建字幕轨道
您无法使用 API Explorer 测试此查询,因为 API Explorer 不支持上传文件,而这是此方法的要求。
您可以使用该 API 的 captions.insert
方法为视频上传新的字幕轨道。上传曲目时,您必须为以下 caption
资源属性指定值:
上传字幕轨道时,您还可以使用以下其他选项:
-
如果您将 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 支持以下选项:
如需查看代码示例,请参阅 captions.download
方法的文档。
更新字幕轨
删除字幕轨
以下示例展示了如何删除字幕轨道。该示例包含以下步骤:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-23。
[null,null,["最后更新时间 (UTC):2024-11-23。"],[[["\u003cp\u003eThis document provides instructions on how to use the YouTube Data API (v3) to manage video captions.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve a list of caption tracks for a specific video using the \u003ccode\u003ecaptions.list\u003c/code\u003e method, requiring OAuth 2.0 authorization.\u003c/p\u003e\n"],["\u003cp\u003eUploading a new caption track to a video is achieved using the \u003ccode\u003ecaptions.insert\u003c/code\u003e method, requiring the \u003ccode\u003esnippet.videoId\u003c/code\u003e, \u003ccode\u003esnippet.language\u003c/code\u003e, and \u003ccode\u003esnippet.name\u003c/code\u003e properties to be set.\u003c/p\u003e\n"],["\u003cp\u003eDownloading a specific caption track is possible via the \u003ccode\u003ecaptions.download\u003c/code\u003e method, including options to specify the desired format and retrieve a translated version.\u003c/p\u003e\n"],["\u003cp\u003eThe API allows for updating a caption track's draft status and even deleting it completely using the \u003ccode\u003ecaptions.update\u003c/code\u003e and \u003ccode\u003ecaptions.delete\u003c/code\u003e methods respectively.\u003c/p\u003e\n"]]],["The YouTube Data API (v3) facilitates caption management. Key actions include: retrieving caption track lists for a video via `captions.list`; creating new tracks with `captions.insert`, specifying video ID, language, and name; downloading tracks with `captions.download`, allowing format and language selection; updating track status or file with `captions.update`; and deleting tracks using `captions.delete` after retrieving the track ID. Uploading caption files cannot be tested in the APIs Explorer.\n"],null,["# Implementation: Captions\n\nThe following examples show how to use the YouTube Data API (v3) to perform functions related to captions.\n\nRetrieve a list of caption tracks for a video\n---------------------------------------------\n\nTo retrieve a list of caption tracks that are available for a specific video, call the [captions.list](/youtube/v3/docs/captions/list) method. Set the [videoId](/youtube/v3/docs/captions/list#videoId) parameter value to the YouTube video ID that uniquely identifies the video for which you are retrieving captions. Your request must be authorized using OAuth 2.0.\n\nThe request below retrieves a list of captions for a video on the Google Stories YouTube channel: \n\n```\nhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list?\npart=snippet\n&videoId=PRU2ShMzQRg\n```\n\nSee the [captions.list](/youtube/v3/docs/captions/list#usage) method's documentation for code samples.\n\nCreate a caption track\n----------------------\n\nThis query cannot be tested using the APIs Explorer because the APIs Explorer does not support the ability to upload files, which is a requirement for this method.\n\nYou can use the API's [captions.insert](/youtube/v3/docs/captions/insert) method to upload a new caption track for a video. When uploading a track, you must specify a value for the following `caption` resource properties:\n\n\u003cbr /\u003e\n\n- [snippet.videoId](/youtube/v3/docs/captions#snippet.videoId) - This identifies the video to which the caption track is being added.\n- [snippet.language](/youtube/v3/docs/captions#snippet.language) - The language of the caption track.\n- [snippet.name](/youtube/v3/docs/captions#snippet.name) - The name of the caption track.\n\n\u003cbr /\u003e\n\nThe following additional options are available when uploading a caption track:\n\n- If you set the [sync](/youtube/v3/docs/captions/insert#sync) parameter to `true`, YouTube will disregard any time codes that are in the uploaded caption file and generate new time codes for the captions.\n\n You should set the [sync](/youtube/v3/docs/captions/insert#sync) parameter to `true` if you are uploading a transcript, which has no time codes, or if you suspect the time codes in your file are incorrect and want YouTube to try to fix them.\n- If you set the `caption` resource's [snippet.isDraft](/youtube/v3/docs/captions#snippet.isDraft) property to `true`, the track will not be publicly visible.\n\nSee the [captions.insert](/youtube/v3/docs/captions/insert#examples) method's documentation for code samples.\n\nDownload a caption track\n------------------------\n\nThis query cannot be tested using the APIs Explorer because the APIs Explorer does not support the ability to download files.\n\nTo download a specific caption track, call the [captions.download](/youtube/v3/docs/captions/download) method. Set the [id](/youtube/v3/docs/captions/download#id) parameter value to the YouTube caption track ID that uniquely identifies the caption track that you are downloading. Your request must be authorized using OAuth 2.0.\n\nThe v3 API supports the following options:\n\n- To specify that a caption track should be returned in a specific format, set the [tfmt](/youtube/v3/docs/captions/download#tfmt) parameter value to identify the desired format. The parameter definition lists supported values.\n\n- To retrieve a translation of a caption track, set the [tlang](/youtube/v3/docs/captions/download#tlang) parameter value to an [ISO 639-1 two-letter language code](http://www.loc.gov/standards/iso639-2/php/code_list.php) that identifies the desired caption language. The translation is generated by using machine translation, such as Google Translate.\n\nSee the [captions.download](/youtube/v3/docs/captions/download#examples) method's documentation for code samples.\n\nUpdate a caption track\n----------------------\n\nThe API supports the ability to change a caption track's [draft status](/youtube/v3/docs/captions#snippet.isDraft), upload a new caption track for a file, or both.\n\nYou can use the APIs Explorer to test the ability to change a track's draft status. However, you cannot use the APIs Explorer to update the actual caption track because tool does not support the ability to upload files.\n\nThe request below retrieves a list of captions for a video on the Google Stories YouTube channel:\n\nThe request updates the draft status of a caption track to `true`, which means the track will not be publicly visible. To complete the request in the APIs Explorer, you need to set the `id` property's value to identify a caption track. \n\n```\nhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.update?\npart=snippet\n```\n\nSee the [captions.update](/youtube/v3/docs/captions/update#usage) method's documentation for code samples.\n\nDelete a caption track\n----------------------\n\nThis example shows how to delete a caption track. The example has the following steps:\n\n- **Step 1: Retrieve the caption track ID**\n\n Follow the steps above to [retrieve a list of caption tracks](#captions-list) for a video. The list could be used to display a list of caption tracks, using each track's ID as a key.\n- **Step 2: Delete the track**\n\n Call the [captions.delete](/youtube/v3/docs/captions/delete) method to delete a specific video. In the request, the `id` parameter specifies the caption track ID of the track that you are deleting. The request must be authorized using OAuth 2.0. If you are testing this query in the APIs Explorer, you will need to substitute a valid caption track ID for the `id` parameter value. \n\n ```\n https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.delete?\n id=CAPTION_TRACK_ID\n ```"]]