iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
生成式 AI

用 Vertex AI 在 30 天內,打造個人 IP 品牌內容系列 第 29

Day 29: 邁向自動化(一):用 Apps Script 串接 Vertex AI 與 Google Sheets

  • 分享至 

  • xImage
  •  

在過去的 28 天裡,我們所有的操作,都還停留在 Vertex AI 的介面中。但一個真正高效的工作流,應該是無縫整合到我們「日常的工作場景」裡的。

例如對於大多數人來說,Google Sheets 是更日常的工作場景。我們用它來規劃內容、追蹤數據、管理專案。

如果...我們能直接在 Google Sheets 的一個儲存格裡輸入主題,然後在旁邊的儲存格,自動看到 AI 生成的內容,那該有多酷?

今天,我們就要來實現這個夢想。我們將使用一個 Google 自家的、對初學者極其友善的程式語言——Google Apps Script,來扮演串連 Sheets 和 Vertex AI 的「超級膠水」。

▋什麼是 Google Apps Script?

你可以把 Google Apps Script 想像成「內建在 Google 全家桶裡的程式語言工具」。
它具有以下三大特色:

  • 基於 JavaScript:語法簡單,容易上手。
  • 無需安裝:直接在 Google Sheets 的後台就能編寫和執行。
  • 與 Google 服務完美整合:能輕易地讀取、寫入 Google Sheets, Docs, Gmail 等服務。

它就是我們實現「辦公室自動化」的最佳利器。

▋實戰開始:打造你的「Google Sheets 內容儀表板」

第一步:準備你的 Google Sheet

  1. 打開一個全新的 Google Sheet。
  2. 將工作表命名為 AI Content Dashboard。
  3. 在第一列,建立以下欄位:
    A1: 主題 (Topic)
    B1: AI 生成的點子 (Generated Ideas)
    C1: 狀態 (Status)

第二步:進入 Apps Script 編輯器

在 Google Sheets 的頂部選單,點擊「擴充功能 (Extensions)」 -> 「Apps Script」。
你會進入一個新的分頁,這就是我們的 Apps Script 編輯器。

第三步:串接 Vertex AI 的程式碼

現在,我們要將之前在 Colab 中使用的 Python 程式碼,改寫成 Apps Script (JavaScript) 的版本。別擔心,我會提供完整的程式碼,你只需要複製貼上,並修改幾個地方。

  1. 取得你的 API Key 和專案 ID
    為了讓 Apps Script 能呼叫 Vertex AI,你需要一組「鑰匙」。請參考 Google Cloud 的官方文件,建立一個「API 金鑰 (API Key)」。這是一個非常重要的步驟。

  2. 貼上程式碼
    將編輯器中原有的程式碼全部刪除,然後貼上以下完整的程式碼:

// 你的 Google Cloud 專案資訊
const PROJECT_ID = "請在這裡填入你的 Google Cloud 專案 ID";
const LOCATION = "us-central1"; // 或你使用的地區
const API_KEY = "請在這裡填入你建立的 API 金鑰";

// Vertex AI 的 API 端點
const API_ENDPOINT = https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/gemini-1.0-pro:generateContent;

/**

  • 這是一個自訂函式,將會出現在你的 Google Sheet 中。
  • @param {string} topic 要生成點子的主題。
  • @return {string} AI 生成的內容點子。
  • @customfunction
    */
    function GENERATE_IDEAS(topic) {
    if (topic === "") {
    return "請先在 A 欄輸入主題";
    }

// 設計我們的 Prompt
const prompt = 你是一位頂尖的內容策略師。 我的內容主題是:「${topic}」 請你為這個主題,生成 3 個具體的、有獨特切角的內容點子。 請用條列式呈現,並用換行符號分隔每一個點子。;

// 準備要傳送給 API 的資料
const requestBody = {
"contents": [
{
"parts": [
{ "text": prompt }
]
}
],
"generation_config": {
"temperature": 0.7,
"max_output_tokens": 2048
}
};

// 設定 API 請求的選項
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(requestBody),
'headers': {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
},
'muteHttpExceptions': true
};

// 呼叫 Vertex AI API
const response = UrlFetchApp.fetch(API_ENDPOINT, options);
const responseText = response.getContentText();
const jsonResponse = JSON.parse(responseText);

// 檢查是否有錯誤
if (jsonResponse.error) {
return "API 呼叫失敗:" + jsonResponse.error.message;
}

// 解析並回傳結果
try {
const ideas = jsonResponse.candidates[0].content.parts[0].text;
return ideas;
} catch (e) {
return "解析結果失敗:" + responseText;
}
}

  1. 儲存專案
    點擊上方的「儲存專案」圖示。

第四步:在 Google Sheet 中使用你的自訂函式

回到我們剛剛建立的 AI Content Dashboard 試算表。最神奇的時刻來了!

  1. 在 A2 儲存格中,輸入一個你想發想的主題,例如:如何提升專注力。
  2. 在 B2 儲存格中,像使用 SUM 函式一樣,輸入我們剛剛建立的自訂函式:
    =GENERATE_IDEAS(A2)
  3. 按下 Enter。
  4. 第一次使用時,Google 會要求你「授權」這個腳本執行。請按照指示完成授權。
  5. 授權完成後,你會看到 B2 儲存格顯示「載入中...」。
  6. 幾秒鐘後,AI 生成的 3 個關於「如何提升專注力」的內容點子,就會自動出現在這個儲存格裡!

現在,試著在 A3, A4 輸入更多主題,然後將 B2 的公式向下拖曳複製。你會看到 AI 開始為你批量工作!

今天,我們完成了一次巨大的整合。我們成功地將強大的 Vertex AI,無縫地嵌入到我們最熟悉的 Google Sheets 工作流中。你不再需要切換不同的視窗,而是在一個儀表板中,就能完成從「主題規劃」到「AI 內容生成」的整個過程。

這就是「自動化」的雛形。

明天,作為我們系列的最終章,我們將學習如何為這個儀表板,設定「時間驅動觸發器」,讓它在你睡覺的時候,也能自動為你工作,真正實現 24 小時內容助理的夢想!


上一篇
Day 28: 打造 Prompt Chain:一鍵生成「內容大禮包」
下一篇
Day 30: 邁向自動化(二):設定觸發器,讓你的 AI 內容助手自動運行
系列文
用 Vertex AI 在 30 天內,打造個人 IP 品牌內容30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言