YouTube Data API 搜尋能做什麼?
YouTube Data API v3 提供了強大且彈性的搜尋功能,讓開發者能根據關鍵字、影片類別、上傳時間範圍、排序條件(如觀看次數、評分、上傳日期)等多元參數,篩選出最符合需求的影片清單。不僅如此,API 可回傳詳細的影片資料,包括標題、描述、縮圖、發布日期、頻道名稱、觀看次數、喜歡數、留言數等欄位,方便後續進行內容聚合、推薦系統建置或數據分析。
例如,想找出某關鍵字近一週爆紅的影片,或統計不同類別影片的熱門程度,只要調整查詢參數即可。這種彈性讓內容開發、行銷分析、教育工具、新聞聚合等應用場景都能受益。
API 採用標準的 RESTful 設計,透過 HTTP 請求與 JSON 資料格式交換資訊,不論是 Node.js、Python,還是 Google Apps Script,都能輕鬆串接並使用搜尋結果,前後端皆適用。開發者只需專注於邏輯設計,無需煩惱資料擷取細節,大幅提升開發效率。
關於配額,YouTube Data API 採單位制計價,搜尋(Search.list)屬於讀取操作,每次請求消耗 100 配額單位。Google 為每個專案每日免費提供 10,000 配額,對於多數輕量或中型應用來說已相當寬裕。如果遇到 quotaExceeded
錯誤,通常只需等隔日配額重置;若長期需求更高,也可以申請額外配額。
用 Apps Script 實作 YouTube 搜尋:從關鍵字到影片資訊全流程
這段程式碼展示如何用 Google Apps Script 快速搜尋 YouTube 熱門影片,並擷取詳細資訊(如標題、頻道、觀看次數等),適合自動化內容蒐集或分析應用。
使用前請在 Apps Script 編輯器的「服務」中新增 YouTube Data API,並完成授權。
function searchVideosByKeyword() {
var keyword = "AI 人工智慧";
var response = YouTube.Search.list("snippet", {
q: keyword,
type: "video",
maxResults: 10,
order: "relevance",
});
if (response.items && response.items.length > 0) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
var videoId = item.id.videoId;
var videoDetails = YouTube.Videos.list(
"snippet,contentDetails,statistics",
{ id: videoId }
);
if (videoDetails.items && videoDetails.items.length > 0) {
var video = videoDetails.items[0];
Logger.log("影片標題: %s", video.snippet.title);
Logger.log("頻道名稱: %s", video.snippet.channelTitle);
Logger.log("影片ID: %s", video.id);
Logger.log("觀看次數: %s", video.statistics.viewCount);
Logger.log("發布日期: %s", video.snippet.publishedAt);
Logger.log("---");
}
}
} else {
Logger.log('查無關鍵字 "%s" 的搜尋結果。', keyword);
}
}
以下將 Google Apps Script 搜尋 YouTube 影片的範例,分段說明每一步的重點與運作方式,帶你從設定到資料取得一次掌握。
第一步:設定搜尋參數與關鍵字
首先定義搜尋參數,這裡以「AI 人工智慧」為關鍵字,並指定只搜尋影片(type: “video”)、每次最多回傳 10 筆,結果依關聯性排序。
var keyword = "AI 人工智慧";
var response = YouTube.Search.list("snippet", {
q: keyword,
type: "video",
maxResults: 10,
order: "relevance",
});
第二步:逐筆取得影片詳細資訊
依序處理搜尋結果,並透過 YouTube.Videos.list
取得每支影片的完整資訊(包含標題、頻道、觀看次數、發布日等),利於後續分析、篩選或展示。
if (response.items && response.items.length > 0) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
var videoId = item.id.videoId;
var videoDetails = YouTube.Videos.list(
"snippet,contentDetails,statistics",
{ id: videoId }
);
if (videoDetails.items && videoDetails.items.length > 0) {
var video = videoDetails.items[0];
// 這裡可以存取各種影片資訊
}
}
}
第三步:輸出重點資訊到 Logger
將每支影片的標題、頻道名稱、ID、觀看次數與發布日期輸出到 Apps Script 的 Logger,方便即時掌握每支影片的標題、觀看次數與發布時間等核心資訊。
Logger.log("影片標題: %s", video.snippet.title);
Logger.log("頻道名稱: %s", video.snippet.channelTitle);
Logger.log("影片ID: %s", video.id);
Logger.log("觀看次數: %s", video.statistics.viewCount);
Logger.log("發布日期: %s", video.snippet.publishedAt);
Logger.log("---");
第四步:處理查無結果的情況
若搜尋結果為空,則輸出提示訊息。
else {
Logger.log('查無關鍵字 "%s" 的搜尋結果。', keyword);
}
完整範例程式碼(可直接複製貼上)
以下是完整的範例程式碼,包含所有步驟。
function searchVideosByKeyword() {
var keyword = "AI 人工智慧";
var response = YouTube.Search.list("snippet", {
q: keyword,
type: "video",
maxResults: 10,
order: "relevance",
});
if (response.items && response.items.length > 0) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
var videoId = item.id.videoId;
var videoDetails = YouTube.Videos.list(
"snippet,contentDetails,statistics",
{ id: videoId }
);
if (videoDetails.items && videoDetails.items.length > 0) {
var video = videoDetails.items[0];
Logger.log("影片標題: %s", video.snippet.title);
Logger.log("頻道名稱: %s", video.snippet.channelTitle);
Logger.log("影片ID: %s", video.id);
Logger.log("觀看次數: %s", video.statistics.viewCount);
Logger.log("發布日期: %s", video.snippet.publishedAt);
Logger.log("---");
}
}
} else {
Logger.log('查無關鍵字 "%s" 的搜尋結果。', keyword);
}
}
總結:打造你的 YouTube 熱門影片搜尋雷達
YouTube Data API 是內容創作者、行銷人員與資料分析師不可或缺的資料入口。只要掌握基本搜尋邏輯與配額管理,就能自動化抓取影片、洞察趨勢、打造屬於你的推薦系統,甚至串接外部資料、進行跨平台整合。無論是想追蹤熱門主題、分析競品頻道、定期彙整高點閱影片,還是打造自動化內容聚合工具,API 都能大幅提升效率與精準度。
實作過程中,建議多嘗試不同搜尋條件,如變換排序方式、調整上傳時間範圍、篩選特定影片類型,或將資料寫入 Google Sheets 方便後續分析。別忘了,善用快取與配額控管,是長期運作自動化腳本的關鍵。
試著照著範例操作一次,你會發現資料驅動的世界其實比你想像的還要靠近。現在就動手打造屬於你的 YouTube 熱門影片雷達,讓資料為你工作!
如果你有 AI 專案、網站開發或技術整合需求,歡迎來信交流: partner@calpa.me
歡迎訂閱 Calpa 的頻道,一同將想像力化為可能: