EP-41 我的 Line AI 助理才不會那麼可愛:用 Claude 和 n8n 構築新聞自動化流程(2)
透過 Line、n8n、Claude 與 Threads 打造 AI 自動化新聞發布流程,涵蓋 API 設定與工作流建置,實現智慧生成與人工審核。
在上週我建立了抓取 AI 新聞的 n8n 流程,本週要進行比較困難的部分,讓 Line、n8n、Threads三方連線。
流程是這樣:
使用者在 Line 上傳送 news 或 Edit:{新聞內容} 關鍵字,傳送到 n8n
n8n 獲取關鍵字,判斷是哪一個,
a. 如果是 news 就回傳儲存在 Google Sheet 的新聞
b. 如果開頭是 Edit: 就判斷新聞字數是否多於 500 字。
(a) 如果多於 500字,告訴使用者字數過多
(b) 如果少於 500 字,就直接張貼到 Threads 上
c. 如果非兩者以外的訊息,就什麼都不做
我在上一期電子報中,我介紹如何安裝 Claude 的 n8n MCP 工具,裝好之後就能夠讓 AI 自動生成工作流。
所以上述的工作流都是由 AI 生成的,毫無技術性可言,是,我就是這麼懶!
但是,有些人工的地方,還是得我們人類自己去做!
Line 機器人設定
首先去建立 Line 官方帳號,不過步驟有點繁複,我自己是按照底下方式操作的。
Line 官方帳號的免費版本,每月可以發200則訊息,假設你的官方帳號有5個好友,則可以發40次訊息。
不過如果是我們主動傳訊息,讓 Line 官方帳號回傳,則不算在這200次內。
登入 Line Developers ,找到 Poviders ,按下 Create 建立新的帳號。
建立後,系統會問你要不要建立 Channel ,請選擇 Create a Messaging API Channel 。
這時候系統會導向,要你去建立 Line 官方帳號,你就照著做,然後隨意填點資料。
接著不用認證了,直接前往管理畫面。
點選上方的「聊天」,然後在左邊的「回應設定」這裡,將「加入好友的歡迎訊息」、「自動回應訊息」都關閉,因為我們要透過 n8n 來回應訊息。
然後一樣在左邊的「Messaging API」,點選啟用,然後選擇服務提供者,就是你剛剛建立的帳號。
這時候你再回到 Line Developers ,就可以看到官方帳號與 Messaging API 連動了。
在左側找到你的帳號,點下去,就可以看到如Channel secret、Your user ID、Channel access token等等重要資訊。把它們通通記下來。
Threads API
要建立 Threads API ,必須去Meta for Developers。
底下內容除了我自己摸索以外,也參考了 科技宅阿高 Kazen 的文章 n8n 串接憑證教學|獲取 Meta Threads Access Token 。
注意,在此之前,你必須確保你的 Instagram 設定為專業帳號,然後你應該也是要有一個 Facebook 帳號當作 Meta 開發者帳號。
點擊右上角的「我的應用程式」。
點擊「建立應用程式」按鈕。
在選擇應用程式類型時,點選「其他」,然後選擇「存取 Threads API」。
輸入您的「應用程式名稱」(例如:我的 Threads 工具),並提供您的「應用程式聯絡電子郵件」。
若您有 Meta 企業管理平台帳號,可以選擇連結,否則可暫時跳過。
點擊「建立應用程式」,完成後會進入應用程式主控板。
接著你在左邊的「應用程式設定」 -> 「基本資料」,可以看到「應用程式密鑰」。
在左邊的「使用案例」,應該會看到「存取 Threads API」,點進去把 threads_basic、threads_content_publish 等等權限都全部打開。
在左邊的「應用程式角色」->角色,加入你的 Threads 帳號,作為測試人員。然後回到Threads,找到設定 -> 帳號 -> 網站權限 -> 邀請
接著找左邊的「測試」,然後進入「圖形 API 測試工具」,選擇threads.net,然後生成存取權杖,這個權杖是短期的,大概 1 小時吧?
複製起來後,我們現在要把短期權杖換成長期,雖然說是長期但是也才兩個月啦,所以定期都得幹這件事,很煩。總之,在 n8n 設定一個 Http Request 節點,然後按照底下方式設定:
a. Method: Get
b. URL: https://graph.threads.net/access_token
c. Authentication: None
d. 打開 Send Query Parameters ,選擇 Using Field Below,然後在 Query Parameters 設定:
grant_type: th_exchange_token
client_secret: 還記得你的應用程式密鑰嗎?放這邊
access_token: 短期權杖接著執行節點,你應該就能回收一個長期權杖。然後這短期權杖就沒效了。
PS:我研究了許久,終於知道要怎樣自動定期更新權杖。
請把 Meta 官方文件丟給 AI 讀,告訴 AI 要使用 GET /refresh_access_token
端點來重新整理未過期的長期 Threads 用戶存取權杖。它就會教你怎麼做了。
我自己是用 Google App Script 自動更新在 Google Sheets 上。
在 n8n 設定工作流
這部分就是叫 AI 生成而已,當然也沒這麼簡單,不會我就不會搞這麼久。
總之呢,我也不是專業作 n8n 的,有相關疑問,各位可以找 Darrell TW 。
可以看一下我這邊怎麼畫的,流程就是,
先用 Code 節點寫程式,判斷使用者傳入的訊息有沒有帶有關鍵字 news 或 Edit:
下一個節點就進入 Switch ,依照關鍵字內容來區分工作流。
最上方就是抓取新聞內容,回傳到 Line 。
中間這道就是抓到 Edit: 關鍵字,要判斷內容字數,如果字數少於 500 字,則進行訊息張貼,此時把之前設定的長期權杖丟進去。
因為我會把 Token 放在 Google Sheet ,所以第一步會讓 n8n 先去 Google Sheet 抓資料,然後用 Code 節點把 Token 拿出來。
再來就是三個 Http Request 節點,先創建 Threads 內容容器,再張貼訊息,最後回報 Line 說張貼成功。這部分就是 AI 跟我說的。
假設內容字數多於 500 字,則導向另一個 Http Request 節點,回報到 Line 上說超過 500 字。
最後記得所有工作流都要導向 Respond to Webhook ,防止超時錯誤。
此工作流還能做更多應用嗎?
當然可以!
我覺得加入 Line 來當審核真的是超棒的,你不會想要讓 AI 生成一些不可控制的內容,最起碼人類要當最後審核吧?
所以你可以讓做任何自動化的事,然後搭配 AI 生成一些內容,最後就要存入 Google Sheet 裡面,讓你主動把文字取出,確認後再發文。
目前我是對於抓新聞這塊還不太滿意啦,總覺得內容太過粗淺,所以這部分我還會再調整,但是大致上都會以這樣的工作流程去呈現。
如果你在創建工作流時有相關疑問,歡迎到我的公開 Line 社群發問哦!
問與答
Q1:這篇文章主要介紹了什麼?
A1:本文詳細介紹如何整合 Line、n8n 和 Threads,並利用 Claude 輔助,建立一套自動化新聞發布與審核流程。
Q2:設定 Line 機器人時,哪些是關鍵步驟?
A2:關鍵步驟包括在 Line Developers 建立 Messaging API Channel,關閉「加入好友的歡迎訊息」與「自動回應訊息」,啟用 Messaging API,並最終取得 Channel secret 和 Channel access token 等重要資訊。
Q3:如何獲取 Threads 的長期存取權杖?
A3:首先,確保 Instagram 為專業帳號,並在 Meta for Developers 建立應用程式,開啟 Threads API 相關權限,將帳號加入測試人員。接著,在「圖形 API 測試工具」取得短期權杖,再透過 n8n 的 Http Request 節點,以 th_exchange_token
類型將短期權杖交換為長期權杖。
Q4:AI(Claude)在這個工作流中扮演什麼角色?
A5:AI 主要用於自動生成 n8n 的工作流,簡化了流程建置的技術複雜性。
Q5:為何在此自動化流程中仍需人工審核?
A6:為了確保 AI 生成內容的可控性與品質,避免發布不可預期的內容,人類審核是作為最後一道把關,特別是在發文前確認內容。
工商服務時間
如果你需要影片操作說明,或者整套的JSON檔案,我把相關內容都放在付費專區。
裡面也會說明如何自動更新 Threads Token。
最後,如果你覺得我的文章對你有幫助,還請您記得點愛心,分享給你的朋友!
如果想要贊助,我也提供小額贊助,贊助者或者任何購買我的商品的人,都能夠加入我的私密社群,我會不定時提供一些 AI 技術相關的想法,也會第一時間回覆文章技術細節的內容。