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 |
string此值由 YouTube 用于唯一标识发布了搜索结果中所标识资源的频道。 |
snippet.title |
string搜索结果的标题。 |
snippet.description |
string搜索结果的说明。 |
snippet.thumbnails |
object与搜索结果相关联的缩略图的映射。对于映射中的每个对象,键是缩略图的名称,值是包含缩略图的其他信息的对象。 |
snippet.thumbnails.(key) |
object有效的键值包括:
|
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 表示频道有正在进行的直播。 |