Search

搜索结果包含有关 YouTube 视频、频道或播放列表的信息,这些信息与 API 请求中指定的搜索参数相匹配。虽然搜索结果指向可明确识别的资源(例如视频),但它没有自己的持久性数据。

方法

该 API 支持以下搜索方法:

list
返回与 API 请求中指定的查询参数匹配的搜索结果集合。默认情况下,搜索结果集可识别匹配的 videochannelplaylist 资源,但您也可以将查询配置为仅检索特定类型的资源。立即试用

资源表示法

以下 JSON 结构显示了搜索结果的格式:

{
  "kind": "youtube#searchResult",
  "etag": etag,
  "id": {
    "kind": string,
    "videoId": string,
    "channelId": string,
    "playlistId": string
  },
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "channelTitle": string,
    "liveBroadcastContent": string
  }
}

属性

下表定义了搜索结果中显示的属性:

属性
kind string
标识 API 资源类型。值为 youtube#searchResult
etag etag
此资源的 Etag。
id object
id 对象包含可用于唯一标识与搜索请求匹配的资源的信息。
id.kind string
API 资源类型。
id.videoId string
如果 id.type 属性的值为 youtube#video,则此属性会显示且其值将包含 YouTube 用来唯一标识与搜索查询匹配的视频的 ID。
id.channelId string
如果 id.type 属性的值为 youtube#channel,则此属性会显示,并且其值将包含 YouTube 用来唯一标识与搜索查询匹配的频道的 ID。
id.playlistId string
如果 id.type 属性的值为 youtube#playlist,则此属性会显示且其值将包含 YouTube 用来唯一标识与搜索查询匹配的播放列表的 ID。
snippet object
snippet 对象包含关于搜索结果的基本详情,例如标题或说明。例如,如果搜索结果为视频,则标题将是视频的标题,而描述将是视频的说明。
snippet.publishedAt datetime
搜索结果标识的资源的创建日期和时间。该值采用 ISO 8601 格式指定。
snippet.channelId string
YouTube 用于对发布的频道标识的资源所标识的频道进行唯一标识的值。
snippet.title string
搜索结果的标题。
snippet.description string
对搜索结果的说明。
snippet.thumbnails object
与搜索结果相关联的缩略图地图。对于映射中的每个对象,键是缩略图的名称,而值是包含缩略图的其他信息的对象。
snippet.thumbnails.(key) object
有效的键值对包括:
  • default - 默认缩略图。视频(或者引用播放列表项目或搜索结果等资源)的默认缩略图宽度为 120 px,高度为 90 px。频道的默认缩略图宽度为 88px,高度为 88px。
  • medium - 缩略图的高分辨率版本。对于视频(或引用视频的资源),此图片的宽度为 320 像素,高度为 180 像素。对于频道,此图片的宽度为 240 像素,高度为 240 像素。
  • high - 缩略图的高分辨率版本。对于视频(或引用视频的资源),此图片宽 480 像素,高 360 像素。对于频道,此图片的宽度为 800 像素,高度为 800 像素。
  • standard - 分辨率高于 high 的缩略图。某些视频和其他资源(例如播放列表项或搜索结果)可使用此图片。此图片宽 640 像素,高 480 像素。
  • maxres - 缩略图的最高分辨率版本。此图片大小适用于某些引用视频的视频和其他资源(如播放列表项或搜索结果)。此图片的宽度为 1280 像素,高度为 720 像素。
snippet.thumbnails.(key).url string
图片的网址。
snippet.thumbnails.(key).width unsigned integer
图片的宽度。
snippet.thumbnails.(key).height unsigned integer
图片的高度。
snippet.channelTitle string
发布搜索结果所标识的资源的频道标题。
snippet.liveBroadcastContent string
用于指示 videochannel 资源是否包含直播内容。有效的属性值包括 upcominglivenone

对于 video 资源,值为 upcoming 表示视频是尚未开始的直播,而值 live 表示视频是正在进行的直播。对于 channel 资源,值 upcoming 表示频道具有尚未开始的预定广播,而值 live 表示频道具有正在进行的直播。