n8n-Threads 포스팅 자동화 #3 : 장기 토큰 자동 갱신 워크플로우 만들기

소개

#1 사례에서 보시는 바와 같이 Threads API(token) 유효 기간은 말 그대로 기간도 아니고, 시간으로서 그 시간이 고작 1h.
설정하다가 유효기간 만료되기 다반사! 다시 받고, 하다가 다시 받고... ! 🫠

그래서 #1 사례에서 1h짜리 단기 토큰을 장기 토큰으로 자동 변환하는 workflow를 만들었었죠.
장기 토큰(long-lived token)은 최대 60일 동안 유효합니다.

하지만 유효기간이 지나면 다시 인증부터 시작해야 하므로, 실전에서는 자동 새로고침 로직이 꼭 필요합니다.

이 글(#3)에서는 n8n을 활용하여 2개월 유효한 Threads 토큰을 주기적으로 새로 고침하고, Supabase에 업데이트하며, 텔레그램으로 알림까지 보내는 자동화 워크플로우를 소개합니다.

진행 방법

✅ 전체 흐름 요약

  1. 주기 실행 → 2. 기존 토큰 가져오기 → 3. 반복 새로고침 → 4. DB 삽입 및 비활성화 처리 → 5. 알림 전송

    전화 통화 과정을 보여주는 다이어그램

✅ 워크플로우 구성 (노드별 설명)

1. Schedule Trigger

  • 일정 주기로 토큰 새로고침 워크플로우를 실행합니다.

2. 토큰 행 가지고 오기 (Supabase)

  • Supabase에서 active = true인 토큰 목록을 가져옵니다.

  • 복수의 토큰이 존재할 수 있어 이후 루프 처리 => 사실 필요 없습니다. Threads는 1개의 Token만 존재하기 때문인데, 그냥 추후의 확장성을 고려해서 넣어 두었습니다.

3. Loop Over Items

  • 여러 개의 토큰을 하나씩 처리하기 위한 반복 구간입니다.

  • 위에서 말씀드린 바와 같이 삭제해도 문제없는 노드입니다.

4. 토큰 새로고침 (HTTP Request)

  • Threads 토큰을 새로고침하는 핵심 노드입니다.

    Adobe Adobe Adobe Adobe Adobe의 스크린 샷
  • 응답으로 새로운 access_token이 반환됩니다.

  • 주의: 만료된 토큰일 경우 아래와 같은 오류가 반환됩니다.

"error": {
  "message": "Session key invalid or expired",
  "type": "OAuthException",
  "code": 102,
  "fbtrace_id": "XXXX"
}
  • 이 경우, 재발급이 불가하므로 신규 인증 절차로 대응해야 합니다.

5. 토큰 Insert (Supabase)

  • 새로 받은 토큰을 Supabase에 새 레코드로 저장합니다.

  • 저장 정보:

    • Token: 새 토큰 값

    • token_type: refreshed

    • active: true

    • created_at: 현재 시간

6. Update a row (Supabase)

  • 기존의 사용된 토큰 레코드의 active를 false로 업데이트합니다.

  • 이를 통해 항상 최신 토큰만 active = true 상태로 유지 가능

    게임 설정의 스크린 샷

7. Send a text message (Telegram)

  • 새 토큰과 이전 토큰 정보를 비교하여 알림을 전송합니다.

    Adobe Acrobat에서 문자 메시지를 보내는 방법
  • 텔레그램 챗봇으로 전송 예:

n8n으로 Threads Token이 Supabase에 업뎃됨!

new:
<신규 토큰>

old:
<이전 토큰>

결과와 배운 점

💡 깨달음

  • Meta Threads API는 문서가 부족하고 실제 동작과 다른 사례가 많아 시행착오가 불가피했습니다. 특히 access token 관련 응답이 표준 OAuth 흐름과 미묘하게 달라 Meta의 폐쇄성이 느껴졌고, 이런 상황에서는 AI 도구의 해석 능력도 엄청난 시행착오를 같이 겪을 수 밖에 없었습니다. (참고 Youtube 동영상이 있었음에도 불구하고...)

  • 무튼, 토큰 만료로 인한 자동화 실패를 완전히 제거할 수 있었습니다.

  • Supabase를 통해 토큰 히스토리 관리가 쉬워졌고, 참고 워크플로우에 업그레이드해서 상태(active 여부)도 명확히 분리 가능

  • AI 도구별 판단을 비교하며 흐름을 보완해나가는 방식이 유용했고, 특히 Claude의 세션 오류 해석, GPT-4o의 노드 구조 제안, Gemini의 예외 처리 방안 등, 교차 검증이 실무적으로 유용했습니다

⚠ 시행착오 및 최적화 포인트

🤖 AI 기반 교차 검증 및 개선 방식

  • 이 워크플로우의 시행착오 과정에서는 Claude, GPT-4o, Gemini를 각각 활용해 워크플로우 진단을 진행했으며, 세 도구 모두 워크플로우에 대해 제시하는 구조와 오류 해석 방식이 서로 달랐기 때문에 교차 검증을 통해 최적의 접근 방식을 도출할 수 있었습니다.

  • 예를 들어:

    • Claude는 "Session key invalid" 오류의 정확한 원인을 해석하고 API 문서를 기반으로 신뢰성 있는 진단을 도와주었습니다.

    • GPT-4o는 워크플로우 구조 최적화에 특화되어, 불필요한 노드 제거 및 조건 분기 흐름을 명확히 제안했습니다.

    • Gemini는 예외 상황에서의 fail-safe 처리, 특히 토큰 만료 시 fallback 메시지 전송 및 사용자 알림 플로우를 보완해주었습니다.

  • 이 3개의 결과를 비교하고 가장 현실적인 방식을 실제 워크플로우에 반영함으로써 AI 교차검증 기반 최적화를 실현할 수 있었습니다.

🚀 다음 계획

  • 알림 채널을 텔레그램 외 Slack, Discord 등으로 확장 예정

  • 토큰 발급 실패 시 재시도 로직 및 에러 로깅 기능 추가 예정

  • Supabase → Notion 등 대체 저장소 테스트 중

참고 자료

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요