본문 바로가기
STUDY/자동화 | n8n

n8n으로 Threads(스레드) 포스팅 자동화 2탄. 스레드 글 게시하기 + 댓글

by vol2 2025. 8. 11.
반응형

 

목차

     

     

     

    안녕하세요. 저번글에서는 threads 쓰레드 포스팅 자동화를 위한 access token 발급 및 설정을 진행했었고, 

    이제 threads에 업로드할 게시글을 만들고, 자동으로 포스팅되도록 연결하는 일만 남았네요.


    전체 흐름은 다음과 같습니다. 

    회색부분은 이전 글에서 커버한 내용이니 참고해주세요.

    2025.08.10 - [STUDY/자동화 | n8n] - n8n으로 Threads(스레드) 포스팅 자동화 1탄. 스레드 연동하기

     

    n8n으로 Threads(스레드) 포스팅 자동화 1탄. 스레드 연동하기

    목차 안녕하세요. 요즘 블로그 자동화, 릴스 자동화~ 자동화에 빠져서 뭘할지 고민중이었는데요.요즘 가장 유행 SNS인 스레드 포스팅을 n8n으로 자동화 하는 법을 공유해보려고 합니다Threads API를

    vol2.tistory.com

     

    - Threads api 설정-

    1. 메타 개발자센터에서 Threads API 접근 가능한 앱 생성
    2. Threads 테스터에 내 계정 추가 & 앱 초대 수락
    3. App Secret과 Access Token 발급 (단기 Access 토큰 발행됨)
    4. Access Token을 장기 실행 토큰(약 60일)으로 연장

    - n8n 설정-

    (선택: Supabase 등 데이터베이스에 토큰 저장 및 n8n으로 토큰 자동 연장)

     

    이번 포스팅:

    5. 미디어 컨테이너 → 게시물 생성

    6. 게시물(미디어 컨테이너) 스레드에 게시

    7. 스레드 댓글 게시하는 법

    8. 스레드 자동화 워크플로우 예시


     

    1. 미디어 컨테이너 세팅

    미디어 컨테이너와 스레드 포스팅에 필요한 정보를 가져옵니다.

    저는 supabase에 토큰정보를 업데이트 해뒀기 때문에 supabase에서 발급받은 장기토큰 정보를 가져왔고,

    자동 포스팅 세팅 노드(set field)에서 access_token과 thread_id 필드를 세팅해줬습니다.

     

     

    미디어 컨테이너 세팅과 포스팅에는 access_token과 thread_id 필드만 가져오셔도 무방합니다.

     access_token = 발급받은 장기토큰
     thread_id = thread user id
     thread_id
    도구-그래프 api 탐색기에서 발급받은 장기토큰 넣고, 우측 상단에 파란 제출 버튼을 눌러서 id를 조회하거나,
    도구-액세스 토큰 디버거에 발급받은 장기토큰 넣고 디버그를 누르면 앱 범위 사용자 ID 옆에서 찾을 수 있습니다.

     

    장기토큰 발행하셨다면 장기토큰으로 하셔야 합니다

     

    threads id 헷갈려서 힘들었던 기억이...

    이건 노드 세팅 참고차, 

     

     


     

    Threads API로 글을 올릴 때 핵심은 미디어 컨테이너(Media Container)를 만드는 과정입니다.

    게시글(본문)을 먼저 만들고, 포스팅하도록 단계가 나뉘어져 있습니다.

     

    2. 미디어 컨테이너 생성

    스레드 게시물(미디어 컨테이너) 형식은 아래 두 가지입니다.

    1) 단일 스레드 게시물 - 단일 이미지, 동영상 또는 텍스트 게시물을 게시

    2) 슬라이드 게시물(캐러셀) - 슬라이드 게시물에 이미지, 동영상 또는 그 두 가지의 조합을 최대 20개까지 게시

    (카드뉴스 형식)

     

    참고로, 

    Threads에서 단일 스레드 게시물(텍스트 게시물)은 500자를 넘길 수 없습니다.
    이걸 초과하면 API 호출 시 오류가 발생하니, 자동화할 때는 꼭 문자 수를 체크하세요.
    Function 노드나 Set 노드에서 slice(0, 500)으로 잘라주는 걸 추천합니다.

     

    -> 오늘은 단일 스레드 게시물 중 텍스트 게시물을 다룹니다

     

    https://developers.facebook.com/docs/threads/posts/

     

    게시물 - Threads API - 문서 - Meta for Developers

    슬라이드 게시물 슬라이드 게시물에 이미지, 동영상 또는 그 두 가지의 조합을 최대 20개까지 게시할 수 있습니다. 슬라이드를 게시하는 절차는 3단계로 구성됩니다. POST /{threads-user-id}/threads 엔

    developers.facebook.com

     

    미디어 컨테이너는 위 공식 문서에 들어가서 threads 미디어 컨테이너 만들기의 요청예시를 curl에 복붙하시면 됩니다.

    이전 글이랑 같은 방법이에요.

     

    요청예시를 import cURL

     

    복붙했을때 모습

     

    이제 원하시는 대로 매개변수를 변경하시면 되는데, 지금은 TEXT 형식을 사용할거기 때문에 이 url을 사용하시면 됩니다.

    https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads?media_type=TEXT&text=<텍스트작성>&access_token=<ACCESS_TOKEN>

     

    필수 매개변수는 다음과 같습니다.

    media_type = TEXT
    text = 게시할 내용 (500자 이하)
    access_token = 최신 토큰

     

     

     

     

    저는 좀더 깔끔하게 보고 싶어서 body를 분리시켜서 사용했어요. 실제 사용하는 노드입니다

    image url은 안쓸거라 비워둠

     

     


    3. 게시물 생성(Publish)

     

    미디어 컨테이너를 만들고 excute하면 id가 발급됩니다.
    이 id가 바로 creation_id이고, 실제로 게시물을 Threads에 올릴 때 사용됩니다.

     

    위 공식 문서에서 2단계 미디어 컨테이너 게시의 요청예시를 사용하시면 됩니다.

     

    필수 매개변수:

    user_id = 내 Threads User ID
    creation_id = 위에서 받은 creation_id
    access_token = 최신 토큰

     

     

    이렇게 설정하시고 excute 누르시면 바~로 게시물이 게시됩니다.

    체감 3초면 포스팅이 되는거 같아요.


    4. Threads 댓글 포스팅

    위 단계는 메인 게시글 작성이고, 댓글도 비슷한 방식으로 게시하면 됩니다.

    댓글용 미디어 컨테이너를 만들고 -> 스레드 게시 워크플로우입니다

    메인? 본문 게시글 게시 후 30초 이후에 댓글 게시를 권장하고 있어서 저도 wait 노드를 추가해 놓았습니다.

    공식 문서: Threads API - Create Replies

     

     

    아래는 댓글용 미디어 컨테이너 노드입니다

     

    본문이랑 거의 똑같은데 딱 하나 다른점은 reply_to_id 변수 를 추가해야 한다는 점인데요.

    값으로는 앞에 게시했던 게시글의 id(creation id)를 넣으시면 됩니다.

    어떤 게시글에 댓글을 달지 id로 지정해주는 느낌이에요.

     

    미디어 컨테이너를 게시하는 건 본문 게시글이랑 똑같아요!

     

     

    참고로 댓글을 여러개 달고 싶으시면 댓글의 id나 본문 게시글의 id를 reply_to_id에 넣으시면 깔끔하게 작동합니다.

    둘 다 대댓글이 문제없이 달리던데... 차이를 알게되면 추가하겠습니다.

     

    대댓글을 달고 싶으면 댓글의 id를 reply_to_id에 넣어주세요.

    본문 게시글 id를 사용하면 댓글이 여러개 달림


    5. 디스코드 승인(Human-in-the-loop) 붙이기 (옵션)

    자동 포스팅 전에 디스코드로 초안을 전송해, 승인/반려 여부를 받은 후 포스팅할지 말지를 결정할 수도 있습니다.

    Human in the loop에서 원하는 채널을 선택하시면 됩니다. 

    저는 디코가 편해서 디코로 했어요

     

    2025.08.08 - [STUDY/자동화 | n8n] - n8n으로 디스코드 봇 연동하기: Bot Token 발급부터 실행까지

     

    n8n으로 디스코드 봇 연동하기: Bot Token 발급부터 실행까지

    목차n8n을 쓰다 보면, 워크플로우 실행을 승인하거나 거부, 또는 오류 알림을 받아야 할 때가 있다.혹은 디스코드 채널을 관리하거나 특정 메시지를 읽고 반응하는 똑똑한 디스코드 봇을 만들고

    vol2.tistory.com

     


    참고&꿀팁

    1) topic_tag

    메인 게시글 올릴때 제가 추가해서 사용하는 파라미터가 있습니다. 바로 topic_tag!

    저는 앞에 gemini한테 글에 맞는 topic_tag도 추천해달라고 하고 있어요. topic_tag를 넣으면 아래처럼 문화예술 태그가 추가됩니다. 굳이 안써도 되지만, 저는 있는 기능 그냥 써보고 있어요. 

    자동으로 원하는 피드에 글이 들어가길 원하면 토픽 태그 사용해보셔요. 팔로워1000명 프로젝트 이런 태그도 가능

     

    * 참고로 topic_tag값에 #문화예술 이렇게 넣으면 '#문화예술' 그대로 토픽 태그로 등록됩니다..

     

     

    2) 링크 미리보기 카드

    메타 공식 문서에서는 link_attachment 매개변수를 사용해 링크를 첨부하라고 나와 있습니다.
    하지만 텍스트만 있는 게시물에 링크를 넣으면, 본문의 첫 번째 링크가 자동으로 미리보기 카드로 표시됩니다.

    저는 이 기능을 활용해서 매개변수 없이, 본문에 링크만 넣었더니 설명대로 미리보기 카드가 잘 표시되었습니다.

     

     

    이렇게 해서 n8n과 Threads API를 활용한 쓰레드 자동 포스팅 방법을 전부 다뤄봤습니다...
    Access Token 발급부터 장기 토큰 연장, 미디어 컨테이너 생성, 댓글 작성, 그리고 디스코드 승인 흐름까지, 자동화를 한 번 세팅해두면 매번 수동으로 올리던 시간을 크게 줄일 수 있어요!! 

     

    저는 테스트용이지만 매일 문화 뉴스 스레드를 올리고 있고, 기사 스크래핑부터 기사 선정, 요약, 스레드 게시글로 가공 및 게시까지 1분정도 걸리는 것 같아요.

     

    다른 SNS 자동화도 도전하고 있으니 성공하면...포스팅하겠습니다. 

    반응형