Automation
Google Workspace+GAS 自動化零基礎入門
用 Google Apps Script 把 Gmail、雲端硬碟、表單、試算表串成自動流程。賴家榮零基礎入門:看懂工具、拆解流程、做出第一個自動化。附完整簡報下載。
閱讀知識
小編最怕的就是「今天要發什麼」。這篇會帶你把想寫的主題列在試算表裡,讓 Gemini 針對每個主題一次生成一則社群貼文(含 emoji 與 hashtag),再自動寫回試算表對應欄位,等於幫你打造一條可以隨時補料的貼文生產線。
完成後,你只要在試算表新增幾行主題、按一下執行,幾秒後每一則貼文草稿就填好在旁邊。你要做的只剩下挑選、微調、排程,把靈感的空白時間還給更有價值的創意。
社群經營的痛點很少是「不會寫」,而是「要一直寫」。每天想哏、每則從零開始,久了就會靈感枯竭、品質忽高忽低。把重複的「起草」交出去,人專心做「篩選與潤飾」,產出才穩定。
Gemini 能依主題快速生出可用草稿,還能照你指定的語氣與格式;試算表則是最直覺的內容排程工具,一欄主題、一欄成品、一欄發布狀態,清楚又好管理。兩者結合,等於把發想與整理都收進同一張表,小編一個人也能像有一組助理。
動作建立欄位,例如 A 欄主題、B 欄平台、C 欄生成貼文、D 欄狀態,第一列放標題。
常見地雷程式以欄位位置抓資料,調整欄序後要同步改程式裡的欄號。
動作在試算表點「擴充功能 > Apps Script」,讓程式綁定這份表。
常見地雷第一次執行會要求授權存取試算表,請用擁有這份表的帳號授權。
動作在「專案設定 > 指令碼屬性」新增 GEMINI_API_KEY,值填你的金鑰。
常見地雷別把金鑰寫死在程式碼,避免分享或匯出時外洩。
動作把下方第一段共用函式貼進編輯器,負責呼叫 Gemini 取回文字。
常見地雷確認模型名稱是 gemini-2.5-flash,打錯會回 404。
動作在提示詞裡明確指定平台、語氣、字數上限、emoji 與 hashtag 數量。
常見地雷要求越具體越好,模糊的提示會讓貼文風格不一致、還要重寫。
動作讀出所有主題列,跳過已完成的,逐筆送 Gemini 並把成品寫回 C 欄、標記狀態。
常見地雷只處理狀態為空的列,避免每次都重跑整張表、浪費額度。
動作先在表裡填 3 到 5 個主題,執行generatePosts,檢查語氣與長度是否符合預期。
常見地雷一次別塞太多列測試,先確認品質再放大量,避免額度白花在不合用的草稿。
動作覺得風格不對就調提示詞,把要重生成的列狀態清空再執行一次。
常見地雷改提示詞後記得先小量測試,滿意了再套用到整批,才不會又要重來。
下面第一段是共用的 askGemini 函式,把提示詞送給 Gemini 並回傳純文字。這段每篇都會用到,直接照抄。
function askGemini(prompt) {
const key = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=' + key;
const payload = { contents: [{ parts: [{ text: prompt }] }] };
const res = UrlFetchApp.fetch(url, { method:'post', contentType:'application/json', payload: JSON.stringify(payload), muteHttpExceptions:true });
return JSON.parse(res.getContentText()).candidates[0].content.parts[0].text.trim();
}
接著是主流程 generatePosts:讀試算表的主題與平台、用 Gemini 生成貼文、寫回 C 欄並標記狀態。你可以把 BRAND_TONE 改成自家的語氣描述。
function generatePosts() {
const BRAND_TONE = '親切、有活力,像跟朋友聊天,適度使用 emoji';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const topic = data[i][0]; // A 欄:主題
const platform = data[i][1] || 'Facebook'; // B 欄:平台
const status = data[i][3]; // D 欄:狀態
if (!topic || status === '已生成') continue;
const prompt = '請以社群小編身分,為「' + platform + '」撰寫一則貼文。\n'
+ '主題:' + topic + '\n'
+ '語氣:' + BRAND_TONE + '\n'
+ '要求:150 字以內、開頭要吸睛、結尾加一句行動呼籲,並附上 3 個相關 hashtag。\n'
+ '請只回傳貼文本身,不要加任何說明或標題。';
const post = askGemini(prompt);
const row = i + 1;
sheet.getRange(row, 3).setValue(post); // C 欄:貼文
sheet.getRange(row, 4).setValue('已生成'); // D 欄:狀態
}
}
從主題到草稿一鍵完成,你不再從空白畫面開始。流程負責把「起草」這段最耗神的部分做完,你只要在成品上做最有價值的取捨與潤飾。
建議至少快速看過一遍再發。Gemini 產出的草稿多半可用,但品牌口吻、時事敏感度、活動細節這些還是需要人把關。把它當成「幫你寫好初稿的助理」,你負責最後審稿與微調,這樣既省了發想時間,又能確保發出去的內容符合品牌與當下情境。
如果提示詞太籠統,確實可能有點模板化。解法是把語氣、句型偏好、甚至幾個好範例寫進提示詞,或要求它「用不同開頭方式」。你也可以針對不同平台給不同提示詞,讓 IG 活潑、LinkedIn 專業。提示越具體,成品的變化與貼合度就越好。
可以,只要在試算表多列幾行主題,執行時就會逐列生成。不過建議分批處理,一來避免撞到 API 速率限制,二來一次太多也不好一次審完。常見做法是一次備一到兩週的量,維持穩定產出又不會囤一堆沒審的草稿。
能。教學裡用 B 欄記錄平台,並把它帶進提示詞,Gemini 就會依 Facebook、Instagram 或 LinkedIn 調整風格與長度。你也可以進一步在提示詞裡針對各平台寫不同規則,例如 IG 多用 emoji、LinkedIn 少用,讓每個平台的貼文都更到位。
對一般社群經營量來說通常很夠。每則貼文只是一次短呼叫,成本很低,一週幾十則也用不了多少額度。除非你要一次生成海量內容或大量嘗試不同版本,才可能需要留意額度;屆時分批跑或升級付費方案即可,程式不用改。
只要在提示詞明確指定數量與方向(例如「3 個與主題相關的 hashtag」),通常都相當貼題。如果發現偶爾跑掉,可以在提示詞多給一句「避免過於通用的標籤」。實在不放心,最後審稿時順手換掉幾個即可,這部分修改成本很低。
同一主題多次生成可能出現相似句子,這很正常。若要多樣性,可在提示詞要求不同角度或開頭,或把已用過的貼文餵給它請它避開。整體來說,只要主題本身有變化,成品重複度不高;真的撞題時,微調主題描述就能拉開差異。
可以,在提示詞寫清楚上限即可,例如「150 字以內」。Gemini 大致會遵守,但偶爾會略微超出,所以審稿時順手確認一下最保險。如果某平台限制很嚴,建議把上限抓得比實際再保守一些,留一點緩衝空間,發布時就不會超字。
不太需要。日常維護幾乎只是改提示詞裡的語氣、字數這些文字描述,屬於複製貼上等級。主邏輯已經寫好且有註解,看得懂中文就能上手微調。若要做較大改造(例如串接排程工具),再找懂 GAS 的人或參考官方文件即可。
Gemini 產出的是原創文字草稿,一般作為自家社群貼文使用沒有問題。不過要避免請它「照抄某品牌文案」或放入未授權的引用。把它當創作輔助、產出屬於你自己的內容,並在發布前確認沒有不當引用他人素材,就能安心使用。
把「起草」交給 Gemini、把「排程管理」交給試算表,小編就能把時間留給真正重要的創意與互動。如果想把這條內容生產線完整建起來、甚至串接發布排程,可以找專人帶著團隊一起做。
想讓團隊用 AI+自動化把重複工作交給流程?賴家榮提供 Workspace/GAS/Gemini 企業內訓與大學課程。
預約授課・免費諮詢本文為賴家榮 AI 教學中心原創教學內容;想讓團隊學會用 AI,歡迎看AI 課程或預約授課 →
代表圖片來源:圖片來源:Pexels