2025年3月15日 星期六

【Google教學】如何用GoogleAppsScript爬取網頁看youtube的所有留言(使用chatgpt的作法)

 


有些人會在youtube影片的留言來抽獎的作法,那我們怎麼去把某一篇影片的留言都抓到google試算表,我們把這個問題拿去問AI(chatgpt),它提供我們程式碼及作法。


1.申請YouTube Data API 來獲取留言

2.查看要查詢的youtube影片ID

3.修改程式碼並執行



程式碼:

function getYouTubeComments() {

  var apiKey = "YOUR_API_KEY";  // 請填入你的 YouTube API Key

  var videoId = "YOUR_VIDEO_ID"; // 影片 ID

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  sheet.clear(); // 清空試算表

  sheet.appendRow(["作者", "留言", "發佈時間 (台灣)", "喜歡數"]); // 更新標題


  var nextPageToken = "";

  var maxResults = 100;


  do {

    var url = "https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=" 

              + videoId + "&key=" + apiKey + "&maxResults=" + maxResults + "&pageToken=" + nextPageToken;

    

    var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});

    var json = JSON.parse(response.getContentText());


    if (json.items) {

      json.items.forEach(function(item) {

        var snippet = item.snippet.topLevelComment.snippet;

        var author = snippet.authorDisplayName;

        var comment = snippet.textDisplay;

        var publishedAt = snippet.publishedAt; // 原始 UTC 時間

        var likeCount = snippet.likeCount;


        // 轉換 UTC 時間為台灣時間 (UTC+8)

        var taiwanTime = convertToTaiwanTime(publishedAt);


        sheet.appendRow([author, comment, taiwanTime, likeCount]);

      });

    }


    nextPageToken = json.nextPageToken || "";

  } while (nextPageToken);

}


// 轉換 UTC 時間到台灣時間 (UTC+8)

function convertToTaiwanTime(utcTime) {

  var date = new Date(utcTime);  // 解析 ISO 時間字串

  date.setHours(date.getHours() + 8); // 加 8 小時變成台灣時間

  return date.toISOString().replace("T", " ").split(".")[0]; // 格式化輸出 YYYY-MM-DD HH:mm:ss

}



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

【Google 教學】告別手動更新!讓 Google 表單訂單金額在試算表中自動計算

一、 前言 痛點引入:   使用 Google 表單製作訂購單或報名表很方便,但每次收到新回覆,都要手動到試算表更新總金額公式嗎? 問題深化:   Google 表單新增回覆時常「插入新列」,導致手動下拉的公式失效或錯位,需要不斷重新調整。 解決方案預告:   介紹 Google...