Videos: update

该 API 现在支持将您的 频道或 视频标记为“面向儿童的内容”。此外,channel 和 video 资源现在还包含一个属性,用于标识相应频道或视频的“面向儿童的内容” 状态。YouTube API 服务条款和开发者政策 也已于 2020 年 1 月 10 日更新。如需了解详情,请参阅 YouTube Data API 服务和 YouTube API 服务条款的修订历史记录。

更新视频的元数据。

配额影响: 调用此方法的配额费用为 50 个单位。

常见应用场景

请求

HTTP 请求

PUT https://www.googleapis.com/youtube/v3/videos

授权

此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。

范围
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

参数

下表列出了此查询支持的参数。列出的所有参数都是查询参数。

参数
必需参数
part string
part 参数在此操作中有两个用途。它用于标识写入操作将设置的属性,以及 API 响应将包含的属性。

请注意,此方法会替换参数值指定的任何部分中包含的所有可变属性的现有值。例如,视频的隐私设置包含在 status 部分中。因此,如果您的请求是更新私享视频,并且请求的 part 参数值包含 status 部分,则视频的隐私设置将更新为请求正文指定的任何值。如果请求正文未指定值,则现有隐私设置将被移除,视频将恢复为默认隐私设置。

此外,并非所有部分都包含在插入或更新视频时可以设置的属性。例如,statistics 对象封装了 YouTube 为视频计算的统计信息,不包含您可以设置或修改的值。如果参数值指定的 part 不包含可变值,则该 part 仍将包含在 API 响应中。

以下列表包含您可以在参数值中添加的 part 名称:
  • brandPartner
  • contentDetails
  • fileDetails
  • id
  • liveStreamingDetails
  • localizations
  • paidProductPlacementDetails
  • player
  • processingDetails
  • recordingDetails
  • snippet
  • statistics
  • status
  • suggestions
  • topicDetails
可选参数
onBehalfOfContentOwner string
此参数只能在经过适当授权的请求中使用。注意: 此参数仅供 YouTube 内容合作伙伴使用。

onBehalfOfContentOwner 参数表示请求的授权凭据标识的是代表参数值中指定的内容所有者行事的 YouTube 内容管理系统 用户。此参数适用于拥有和管理许多不同 YouTube 频道的 YouTube 内容合作伙伴。它允许内容所有者进行一次身份验证,即可访问其所有视频和频道数据,而无需为每个频道提供身份验证凭据。用户进行身份验证时使用的实际 CMS 账号必须与指定的 YouTube 内容所有者相关联。

请求正文

在请求正文中提供视频资源。对于该资源:

  • 您必须为以下属性指定值:

    • id
    • snippet.title - 仅当请求更新 video 资源的 snippet 时,才必须提供此属性。
    • snippet.categoryId - 仅当请求更新 video 资源的 snippet 时,才必须提供此属性。
  • 您可以为以下属性设置值:

    • snippet.categoryId
    • snippet.defaultLanguage
    • snippet.description
    • snippet.tags[]
    • snippet.title
    • status.embeddable
    • status.license
    • status.privacyStatus
    • status.publicStatsViewable
    • status.publishAt - 如果您为此属性设置了值,则还必须将 status.privacyStatus 属性设置为 private。只有在视频的隐私状态为 private 且视频从未发布过的情况下,才能设置此属性。
    • status.selfDeclaredMadeForKids
    • status.containsSyntheticMedia
    • recordingDetails.recordingDate
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description

    如果您提交的是更新请求,并且您的请求未为已具有值的属性指定值,则该属性的现有值将被删除。

响应

如果成功,此方法会在响应正文中返回视频资源。

错误

下表列出了 API 在响应对此方法的调用时可能会返回的出错提示。如需了解详情,请参阅出错提示文档。

错误类型 错误详情 说明
badRequest (400) defaultLanguageNotSet API 请求尝试添加本地化视频详情,但未指定视频详情的默认语言。
badRequest (400) invalidCategoryId snippet.categoryId 属性指定了无效的类别 ID。请使用 videoCategories.list 方法检索受支持的类别。
badRequest (400) invalidDefaultBroadcastPrivacySetting 该请求尝试为默认广播设置无效的隐私设置。
badRequest (400) invalidDescription 请求元数据指定了无效的视频说明。
badRequest (400) invalidPublishAt 请求元数据指定了无效的计划发布时间。
badRequest (400) invalidRecordingDetails 请求元数据中的 recordingDetails 对象指定了无效的录制详情。
badRequest (400) invalidTags 请求元数据指定了无效的视频关键字。
badRequest (400) invalidTitle 请求元数据指定了无效或空白的视频标题。
badRequest (400) invalidVideoMetadata 请求元数据无效。
forbidden (403) forbidden
forbidden (403) forbiddenEmbedSetting 该请求尝试为视频设置无效的嵌入设置。请注意,某些频道可能没有权限为直播提供嵌入式播放器。如需了解详情,请访问YouTube 帮助中心。
forbidden (403) forbiddenLicenseSetting 该请求尝试为视频设置无效的许可。
forbidden (403) forbiddenPrivacySetting 该请求尝试为视频设置无效的隐私设置。
notFound (404) videoNotFound 找不到您尝试更新的视频。请检查请求正文中的 id 字段的值,确保其正确无误。

试试看!

使用 APIs Explorer 调用此 API,并查看 API 请求和响应。