用 YouTube Data API 快速抓出熱門影片:實戰教學 + Apps Script 範例

作者: Calpa Liu
字數:1384
出版:2025 年 5 月 14 日
分類: JavaScript Google Apps Script
手動比對 YouTube 熱門影片資訊,既繁瑣又低效。我用 Google Apps Script 實作自動搜尋腳本,快速建立熱門影片清單,效率大幅提升。這篇實戰教學將帶你一步步學會如何用 YouTube Data API 自動抓出熱門影片。

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 熱門影片雷達,讓資料為你工作!

JavaScript Google Apps Script
關於 Calpa

Calpa 擅長使用 TypeScriptReact.jsVue.js 建立 Responsive Website。

他積極參與開源社區,曾在 2019 年的香港開源大會上擔任講者,提供工作經驗和見解。此外,他也在 GitHub 上公開分享個人博客程式碼,已獲得超過 300 顆星星和 60 個分支的支持。

他熱愛學習新技術,並樂意分享經驗。他相信,唯有不斷學習才能跟上快速演變的技術環境。

熱門文章

最新文章

Zeabur 架構自動無痛感
專案交付更輕鬆
🎁 首次升級送 $5 點數