用N8N自動排程發布Thread文章

自由揚AntonyLin
金黃色的自動化流程

N8N自動發布Thread省下5倍時間與費用

N8N可給做到Thread貼文排程自動化發布

做到定時將文章從Google Doc / Google Sheet / Notion等定時發佈到多個平台

只需要設定好文章內容,連動到N8N之後就可以自動化發布

超級省力,今天要把這樣的流程用最簡單方式教大家

N8N自動化發文前準備

  1. 註冊Meta Developer並且創立應用程式
  2. 取得Thread Access Token(把它想成是開啟Thread的一把鑰匙)

Meta Developer是一款Meta官方提供給工程師的API管理平台

放心就算你不是工程師,照著我的步驟也可以一步一步串接好自動化

首先要到Meta Developer建立一個應用程式,如果你已經建立過可以直接使用

在使用案例這邊,將Thread打勾,剩餘的部分順順填寫完成即可。

下一步是新增測試人員,要開通自動化串接的用戶要加到這裡面

新增完成後,要點藍色的「網站權限」或是到 Threads APP 設定 → 帳號 → 網站權限 → 接受邀請,才能夠完成帳號新增

拿Thread的Access Token鑰匙

現在我們已經將權限都設定好了,準備要拿開啟Thread自動化大門的鑰匙

拿的方式是到Graph API 測試工具這裏

  1. 將網址切換為 threads.net
  2. 點選「Generate Threads Access Token」取得 Access Token
  3. 這個Access Token複製起來,等一下要貼到N8N裡面

拿Thread自己的UserID

在N8N中要用Thread自動發布貼文需要貼上自己的Id

拿的方法也很簡單,一樣在Graph API 測試工具按下提交按鈕之後

看到id那個欄位把這個id欄位複製下來就行了

這個可以保留等一下也要貼到N8N上面

N8N節點設置詳細教學流程

在Thread中發文的邏輯是:

  1. 觸發
  2. 使用HttpRequst節點建立Container(建立草稿)
  3. 使用HttpRequst節點發布Container(發布草稿)

觸發條件一開始要做測試,可以直接拉Trigger Manually手動觸發就好。

接下來要細講兩個HttpsRequest節點的設置流程

使用HttpsRequests節點建立草稿

  • 節點類型:HTTP Request
  • Method:POST
  • URL:https://graph.threads.net/v1.0/{threads-user-id}/threads
  • Headers: Authorization: Bearer <你的Access Token>
  • Content-Type: application/json

Body(JSON 範例,純文字):

json{ "type": "text" "text": "這是要發布的第一則內容!"} 執行成功後會回傳一個 Post ID。

補充:media_type 參數用法

  • media_type 必填!可選值如下: TEXT:純文字貼文
  • IMAGE:單張圖片
  • VIDEO:單段影片
  • CAROUSEL:輪播多媒體(多張圖或多段影片,只適用於多媒體貼文)

純文字

json{ "media_type": "TEXT", "text": "這是一則純文字 Threads 文章" } 單張圖片貼文

json{ "media_type": "IMAGE", "text": "這是一則圖片貼文", "image_url": "https://圖床網址/圖片.jpg"} 單段影片貼文

json{ "media_type": "VIDEO", "text": "這是一則影片貼文", "media_url": "https://視頻網址/影片.mp4" } 記得,media_type 每次都要帶上,不論純文字、圖片、影片、還是輪播。這也是 Threads API 報錯時「The parameter media_type is required」的主要原因。

使用 HTTPRequest節點正式發文

  • 節點類型:HTTP Request
  • Method:POST
  • URL:https://graph.threads.net/v1.0/{threads-user-id}/threads_publish
  • 參考資料
  • Headers: Authorization: Bearer <你的Access Token>
  • Content-Type: application/json

Body(JSON 範例):

json{ "creation_id": "<上步驟回傳的Post ID>"} 執行後,Threads就會發佈你剛剛的內容!未來如果API指令有變,可以參考官方API文檔

額外Bonus發布串文

  • 如果要加圖片、影片,只需在Body加 media_url 屬性,詳見官方API說明。
  • 如果要做串文/回覆(多則內容串聯),Body加 reply_to_id 將內容關聯到主文。

json{ "text": "這是第二則串文", "reply_to_id": "<主文的Post ID>" } 實用N8N設計Tips 可用定時Trigger自動發文 可搭配AI生成貼文內容,自動寫,然後串到以上HTTP Request節點 Access Token建議自動存/刷新,有效期到時自動換取新Token 如何快速取得長期Token 可以直接到Mata Developer後台取得長期Token

不需要額外再寫程式碼,不然每天都要重新拿超麻煩

自動化取得Token從此不用再擔心刷新問題

只需要在快過期前,將上面存取權限的權杖用Get再打一次

就可以拿到刷新後的長期鑰匙,可以再續命60天

GET https://graph.threads.net/refresh_access_token?grant_type=th_refresh_token&access_token=<LONG_LIVED_ACCESS_TOKEN> 自動化取得貼文數據 要用 n8n 的 HTTP Request 節點取得 Threads API 的「貼文數據」,可以按下述方式設置節點參數,直接取得特定期間的 Threads 貼文及其互動指標(如 views、likes、replies)。

節點設置概述

  • Method:選擇 GET
  • URL:依 Meta Threads API 文件,取得貼文資料用 貼文列表:https://graph.threads.net/v1.0/me/threads
  • 貼文互動數據:https://graph.threads.net/v1.0/{post_id}/insights

Authentication:Header(填入 Bearer Token 或 access_token 於參數欄位)

取得用戶所有貼文

  • Method:GET
  • URL:https://graph.threads.net/v1.0/me/threads
  • Query Parameters: fields:id,text,timestamp,likes,views,replies(依 API 支援調整)
  • since:開始日期(如 2024-08-01)
  • until:結束日期(如 2024-08-10)
  • limit:最大數量(如 100)
  • access_token:你的 Meta Threads API token

範例 n8n 配置

參數設定值MethodGETURLhttps://graph.threads.net/v1.0/me/threadsQuery Paramsfields: id,text,timestamp,views,likes,repliessince: 2024-08-01until: 2024-08-10access_token: xxxxxxx(用你的Token)

若要取得某貼文詳細數據

參數設定值MethodGETURLhttps://graph.threads.net/v1.0/{post_id}/insightsQuery Paramsmetric: views,likes,replies,reposts,quotesaccess_token: xxxxxxx(用你的Token)

發佈到Linkin

  1. 基本串接流程概述
  2. 註冊 LinkedIn 開發者帳號 進入 LinkedIn 開發者門戶,登入或註冊帳號。
  3. 建立應用程式(App) 在「我的 App」中新增應用,填寫基本資料並關聯公司專頁。
  4. 取得 client_id 與 client_secret 建立後會看到專屬的 Client ID 及 Client Secret,作為身分驗證依據。
  5. 設定 Redirect URI 及權限範圍(scope) 設定 OAuth 2.0 redirect_uri(用戶授權後導回的網址)及 APP 所需資料權限範圍。
  6. 取得授權碼 (Authorization Code) 由前端導用戶至 LinkedIn 登入授權頁,成功後會自動重定向回 redirect_uri 並附上 code。
  7. 交換 Access Token 用 code 至 LinkedIn Token API 換取 access token(可存取 LinkedIn API 的憑證)。
  8. 使用 Access Token 串接 LinkedIn API

設定Linkin App裡面的call back

  • 在 n8n 建立 LinkedIn OAuth Credential 時,畫面會直接顯示對應的 OAuth Redirect URL,一般格式如下:https://你的 n8n 網域/rest/oauth2-credential/callback
  • 例如,假設部署於 Zeabur 或自有網域,會像:https://example.n8n.app/rest/oauth2-credential/callback
  • 若是本地部署且外部不可訪問,可能是:http://localhost:5678/rest/oauth2-credential/callback 但 LinkedIn API 通常要求 HTTPS 且必須是公開網域。

使用Http Request節點觸發

在 n8n 自動化平台中,串接 LinkedIn API 進行自動發文,常用的是「HTTP Request 節點」或直接設定「LinkedIn OAuth Credential」並用 LinkedIn Node 發佈貼文。

範例流程(HTTP Request Node)

  1. 新增 HTTP Request Node。
  2. Method 選擇 POST。
  3. URL 設定為:https://api.linkedin.com/v2/ugcPosts
  4. Header 填入: Authorization: Bearer {{ $json["access_token"] }}
  5. Content-Type: application/json
  6. Body (JSON) 範例如下(簡易文本發文):

{ "author": "urn:li:person:{你的 LinkedIn ID}", "lifecycleState": "PUBLISHED", "specificContent": { "com.linkedin.ugc.ShareContent": { "shareCommentary": { "text": "這是一則自動化貼文範例,由 n8n 觸發發佈" }, "shareMediaCategory": "NONE" } }, "visibility": { "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC" } } Ps Accress Token可以到這裡拿:https://www.linkedin.com/developers/tools/oauth/token-generator

n8n 節點設定摘要

節點參數或內容HTTP RequestPOST, LinkedIn API URLHeaderAuthorization, Content-TypeBody上方 JSON 範例

如何取得Linkin UserID

取得 LinkedIn ID 方法

回傳的 JSON 裡通常包含 id 欄位,這就是你的 LinkedIn ID 。

當 OAuth 授權成功,取得 access_token 後,可以呼叫 LinkedIn Profile API:textGET https://api.linkedin.com/v2/me headers: Authorization: Bearer {access_token}

關於Linkin App的權限設定LinkedIn 的 OAuth scope 權限必須在「LinkedIn 開發者後台 App 設定」中完成設定,且不同功能需要申請不同的權限(scope)。

權限 scope 設定說明

1. 必備 scope 權限

  • 若要取得個人 ID(查詢 /me),必須申請 r_liteprofile。
  • 若要自動發文,則需要 w_member_social。

2. App 後台產品設定位置

  • 進入 LinkedIn Developer Portal > 「產品」(Products)。
  • 勾選「Sign In with LinkedIn」才能啟用 r_liteprofile scope。
  • 勾選「Share on LinkedIn」才能啟用 w_member_social。
  • 若找不到這兩個產品選項,需提交申請(部分帳戶或新開帳戶在 dev 狀態無法選擇,須等 LinkedIn 審核或可直接向官方聯絡)。

3. OAuth scope 參數填寫

在 OAuth 授權流程網址加入 scope 參數,範例:

textscope=r_liteprofile w_member_social

N8N回傳會收到一個Sub,這個Sub就是你的LinkinID

分享文章

AUTHOR

自由揚AntonyLin

留言(0)

尚無留言,成為第一個留言的人吧!