有些人會在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
}