歡迎來到 Day 30,打造你個人IP品牌旅程的終點,也是你成為「自動化創作者」之路的起點。
昨天,我們成功地將 Vertex AI 嵌入了 Google Sheets,打造了一個強大的「內容儀表板」。但它仍然需要我們「手動觸發」——輸入主題、下拉公式。
如果...我們能讓這個儀表板,在例如每週一早上 9 點,自動為我們規劃好一整週的內容主題,那該有多棒?
今天,我們就要來實現這個終極夢想。我們將學習 Google Apps Script 中最核心的自動化功能——觸發器 (Triggers)。
▋什麼是「觸發器 (Triggers)」?
你可以把「觸發器」想像成一個「智慧鬧鐘」。
傳統的鬧鐘,只能在特定時間「發出聲音」。而 Apps Script 的觸發器,則可以在特定時間(或發生特定事件時),自動執行一段你寫好的程式。
它有兩種主要的觸發模式:
今天,我們將聚焦在「時間驅動觸發器」,來實現內容規劃的完全自動化。
▋實戰開始:打造你的「每週內容規劃」自動化流程
打開我們昨天 Day 29 使用的 Google Sheet 和 Apps Script 專案。
第一步:設計一個「自動規劃」的函式
我們昨天寫的 GENERATE_IDEAS 函式,需要一個「輸入」才能運作。
但自動化流程,需要的是一個「不需要任何輸入,就能自己完成所有事」的函式。
因此,我們要來編寫一個新的函式,叫做 planWeeklyContent。
【在 Apps Script 編輯器中,加入以下新的函式】
// 這個函式將由觸發器自動執行
function planWeeklyContent() {
// 1. 定義本週的核心主題
// 這裡可以寫得更複雜,例如從某個儲存格讀取,但為了簡單起見,我們先寫死
const weeklyTheme = "用 AI 提升個人生產力";
// 2. 取得我們的儀表板工作表
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AI Content Dashboard");
// 3. 找到第一個空白的儲存格,用來填寫新內容
const firstEmptyRow = sheet.getLastRow() + 1;
// 4. 在 A 欄填入本週主題
sheet.getRange(firstEmptyRow, 1).setValue(【本週主題】${weeklyTheme}
);
// 5. 設計一個專門用來腦力激盪子主題的 Prompt
const prompt = 你是一位內容策略總監。 本週的核心內容主題是:「${weeklyTheme}」 請為這個核心主題,腦力激盪出 5 個具體的、可以獨立成篇的子主題。 請直接以條列式呈現,不要有任何額外的前言或結語。
;
// 6. 呼叫我們昨天寫的 GENERATE_IDEAS 函式,但這次是從程式內部呼叫
// 為了簡化,我們直接在這裡重寫 API 呼叫的邏輯
const requestBody = {
"contents": [{"parts": [{"text": prompt}]}],
"generation_config": {"temperature": 0.7}
};
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(requestBody),
'headers': {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()},
'muteHttpExceptions': true
};
const response = UrlFetchApp.fetch(API_ENDPOINT, options);
const jsonResponse = JSON.parse(response.getContentText());
try {
const subTopicsText = jsonResponse.candidates[0].content.parts[0].text;
const subTopics = subTopicsText.split('\n').filter(topic => topic.trim() !== ''); // 將回傳的文字拆成陣列
// 7. 將 AI 生成的子主題,依序填入下方的儲存格
for (let i = 0; i < subTopics.length; i++) {
let row = firstEmptyRow + 1 + i;
sheet.getRange(row, 1).setValue(subTopics[i]);
// 我們甚至可以讓 B 欄自動帶入公式,讓它自己去生成點子
sheet.getRange(row, 2).setFormula(`=GENERATE_IDEAS(A${row})`);
}
// 8. 在 C 欄標示狀態
sheet.getRange(firstEmptyRow, 3).setValue("自動規劃於 " + new Date().toLocaleString());
} catch (e) {
sheet.getRange(firstEmptyRow, 3).setValue("自動規劃失敗:" + e.toString());
}
}
寫完後,記得點擊「儲存專案 (💾)」。你可以手動執行一次這個函式,看看它是否能在你的試算表中,自動填入一週的主題。
第二步:設定「時間驅動觸發器」
現在,我們要為這個函式裝上「鬧鐘」。
大功告成!
你已經成功地建立了一個全自動的 AI 內容規劃系統。從現在開始,每個星期一的早上,當你打開 AI Content Dashboard 這個 Google Sheet 時,你將會驚喜地發現,Vertex AI 已經自動為你規劃好了未來一週的內容主題,並填寫在表格中,等待你進一步的創作。
30 天挑戰總結:從「創作者」到「AI產品經理」
恭喜你!完成了這趟長達 30 天的挑戰:
將想法變為影響力,從今天開始,你有了最可靠的 AI 夥伴。
這 30 天的終點,不是結束,而是你作為一個「AI 賦能創作者 (AI-Powered Creator)」的真正開始。你所建立的,不僅僅是一些提示或工具,而是一套可以不斷成長、不斷優化的「智慧內容資產」。