iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0

在上個階段,我們已經成功讓 n8n 連接到 Google Sheets

現在,我們要來打造一個更聰明的自動化流程:自動檢查指定的 Google Drive 資料夾,如果找不到打卡用的試算表,就主動建立一個新的,並填上我們需要的標題列

本日目標

建立 n8n 工作流程,實作以下功能:

  1. 在 Google Drive 中搜尋指定的試算表檔案

  2. 判斷檔案是否存在

  3. 如果不存在,則自動建立一個新的 Google Sheet

  4. 在新建立的試算表中填入標題列 (Date, Check-In, Check-Out)

workflow

步驟 1:搜尋 Google Drive 中的檔案

  • 上一篇已經測試過 n8n 連到「Google Sheet」了,接下來可以來建立更完整的機制,這邊先把起始的下個節點改為「Google Drive」

    image.png

  • 選擇「Search files and folders」

    image 1.png

  • 依然要先處理憑證

    image 2.png

  • 在欄位貼上我們已經在「Google Cloud」建好的 ID 跟密鑰,同樣點選「Sign in with Google」

    image 3.png

  • 在「Search Query」填上試算表預計想取的名稱

    image 4.png

  • 「Settings」分頁的「Always Output Data」切換為開啟狀態

    • 另外這個節點要命名為「Google Drive」,之後會用到

    image 5.png

步驟 2:用程式碼判斷檔案是否存在

  • 下個節點選擇「Code」來寫點簡單的程式碼

    image 6.png

  • 貼上底下的程式碼來檢查是否存在

    • 這段程式碼會檢查前一個節點 (items) 的輸出。如果輸出是空的(代表沒找到檔案),它會回傳一個 json 物件,其中 empty 的值為 true
    return [
      {
        json: {
          empty: items.length == 1 && Object.keys(items[0].json).length == 0,
        },
      },
    ];
    

    image 7.png

步驟 3:使用「If」節點建立條件分支

現在我們有了 truefalse 的判斷依據,可以利用「If」節點讓工作流程根據不同情況走不同的路徑

  • 接著選擇「If」來判斷結果

    image 8.png

  • 「value1」填上

    {
      {
        $json["empty"];
      }
    }
    
  • 條件選擇「Boolean」的「is true」

    image 9.png

步驟 4:建立新的 Google Sheet (True 路徑)

  • 接著在「true」的路徑接續下去,假如不存在就建立新的試算表

    image 10.png

  • 「Title」寫上自己想取的名字,「Sheets」的「Tittle」也是

    image 11.png

  • 然後可以點選畫布正下方的「Execute workflow」來試跑看看

    image 12.png

步驟 5:在新試算表中加入標題列

  • 接下來選擇「Code」來產生標題列需要的資料

    image 13.png

  • 程式碼如下

    return [
      {
        json: {
          Date: "Date",
          "Check-In": "Check-In",
          "Check-Out": "Check-Out",
        },
      },
    ];
    

    image 14.png

  • 下個節點選擇「Append row in sheet」

    image 15.png

  • 「Document」選擇「By ID」可以填上從前面節點產生的資料

    • 「Mapping Column Mode」選「Map Automatically」

    • 「Cell Format」設定「Let Google Sheets format」

    {
      {
        $("Create spreadsheet").item.json.spreadsheetId;
      }
    }
    

    image 16.png

執行與驗證

所有節點都設定完成後,點擊畫布下方的「Execute workflow」來執行整個流程

如果一切順利,你會在你的 Google Drive 中看到一個全新的試算表,並且打開後會發現「Date」、「Check-In」、「Check-Out」這幾個標題已經被填上去了

image 17.png

恭喜,一個更強健的自動化基礎已經完成了

明天我們就來串接 iPhone 捷徑,並實作「簽到」的功能


上一篇
[Day04]_自動記錄打卡時間-#1:Google 服務憑證設定教學
下一篇
[Day06]_自動記錄打卡時間-#3:串接 iPhone 捷徑
系列文
告別重複瑣事: n8n workflow 自動化工作實踐26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言