search 结果包含与 API 请求中指定的搜索参数相匹配的 YouTube 视频、频道或播放列表的相关信息。虽然搜索结果指向的是可唯一标识的资源(例如视频),但它本身没有持久性数据。
方法
该 API 支持以下搜索方法:
资源表示法
以下 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 |
objectid 对象包含可用于唯一标识与搜索请求匹配的资源的信息。 |
id.kind |
stringAPI 资源的类型。 |
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 |
objectsnippet 对象包含有关搜索结果的基本详细信息,例如其标题或说明。例如,如果搜索结果是视频,则标题将是视频的标题,说明将是视频的说明。 |
snippet.publishedAt |
datetime搜索结果所标识资源的创建日期和时间。该值采用 ISO 8601 格式指定。 |
snippet.channelId |
stringYouTube 用来唯一标识搜索结果所标识的资源的发布频道的价值。 |
snippet.title |
string搜索结果的标题。 |
snippet.description |
string搜索结果的说明。 |
snippet.thumbnails |
object与搜索结果相关联的缩略图的地图。对于地图中的每个对象,键是缩略图的名称,值是包含缩略图其他信息的对象。 |
snippet.thumbnails.(key) |
object有效键值包括:
注意:搜索结果不支持 1080p+ 缩略图图片( |
snippet.thumbnails.(key).url |
string图片的网址。 |
snippet.thumbnails.(key).width |
unsigned integer图片的宽度。 |
snippet.thumbnails.(key).height |
unsigned integer图片的高度。 |
snippet.channelTitle |
string搜索结果所标识的资源的发布频道的标题。 |
snippet.liveBroadcastContent |
string用于指示 video 或 channel 资源是否包含直播内容。有效属性值为 upcoming、live 和 none。对于 video 资源,值为 upcoming 表示视频是尚未开始的直播,而值为 live 表示视频是正在进行的直播。对于 channel 资源,值 upcoming 表示频道有尚未开始的预定广播,而值 live 表示频道有正在进行的直播。 |