search 結果包含 YouTube 影片、頻道或播放清單的資訊,這些資訊與 API 要求中指定的搜尋參數相符。雖然搜尋結果會指向可辨識的資源 (例如影片),但它沒有自己的持續性資料。
方法
這個 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有效的鍵值如下:
|
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,則表示頻道有正在進行的直播。 |