네이버 블로그 글을 Threads에 자동 공유하는 방법
새 글을 한 번 쓰면, 블로그에서 Threads까지 자동으로 알립니다.
네이버 블로그의 RSS에서 새 글을 찾고, GitHub Actions가 정해 둔 시간마다 확인한 뒤, Threads API로 제목·짧은 소개·원문 링크를 올리는 방식입니다. 같은 내용을 두 번 쓰지 않아도 되고, 링크 미리보기는 네이버 블로그가 만들어 줍니다.
작동 흐름
- 1. 네이버 블로그새 글 발행
- 2. RSS새 글 주소 전달
- 3. GitHub Actions중복 확인·게시 요청
- 4. Threads소개와 링크 게시
1먼저 준비할 것
- · 공개 상태인 네이버 블로그와 RSS 주소
- · Actions를 실행할 GitHub 저장소
- · Threads API를 추가한 Meta 개발자 앱과 게시할 Threads 계정
RSS 주소는 보통 https://rss.blog.naver.com/블로그아이디.xml 형태입니다. 브라우저에서 열어 최근 글 제목이 보이는지 먼저 확인하세요. 비공개 글이나 RSS에 들어오지 않은 글은 자동 공유 대상이 될 수 없습니다.
2Meta에서 Threads 게시 권한을 준비합니다
Meta 개발자 페이지에서 앱에 Threads API를 추가합니다. 테스트 중인 앱이라면 게시할 Threads 계정을 앱 역할 또는 테스터로 등록해야 합니다.
Graph API Explorer에서는 도메인을 graph.threads.net으로 선택하고, 앱을 고른 뒤 Threads 액세스 토큰을 만듭니다. 게시에는 최소한 threads_basic 과threads_content_publish 권한이 필요합니다.
토큰은 비밀번호처럼 다루세요. 소스 파일, 블로그 글, 스크린샷, 채팅에 붙여 넣지 말고 GitHub Secret에만 보관합니다.
3GitHub에 자동 실행을 만듭니다
저장소의 .github/workflows 폴더에 워크플로 파일을 만들고, RSS를 읽는 스크립트를 실행하도록 연결합니다. 워크플로는 schedule과workflow_dispatch를 함께 둡니다. 전자는 정기 실행, 후자는 화면에서 눌러 보는 테스트용입니다.
스크립트가 해야 할 일
- RSS에서 제목, 주소, 발행 시각, 첫 문장을 읽습니다.
- 정해 둔 시작 시각 이후의 새 글만 골라 과거 글이 한꺼번에 올라가지 않게 합니다.
- 최근 Threads 글에서 같은 블로그 주소를 찾아 중복 게시를 막습니다.
- 제목, 짧은 소개, 원문 주소를 하나의 텍스트 게시물로 만듭니다.
한 시간마다 확인하려면 예를 들어 17 * * * *처럼 매 시각 17분에 실행하게 둘 수 있습니다. 정각은 GitHub 실행이 몰려 지연될 수 있어 피하는 편이 낫습니다.
4Secret과 시작 시각을 따로 넣습니다
GitHub 저장소에서 Settings → Secrets and variables → Actions로 들어가THREADS_ACCESS_TOKEN Secret을 만듭니다. 코드에서는secrets.THREADS_ACCESS_TOKEN으로만 읽습니다.
자동 게시를 켤 때는 변수로 THREADS_AUTOPUBLISH_ENABLED=true를 두고, 시작 시각도 THREADS_NOT_BEFORE에 ISO 날짜·시각으로 저장하세요. 이 시작선이 있어야 이전 글 수백 개가 다시 게시되지 않습니다.
5게시 전에는 꼭 한 번 미리 봅니다
GitHub의 Actions 탭에서 워크플로를 골라 Run workflow를 누릅니다. 처음에는 dry run을 켜서 어떤 글이 선택되는지 로그만 확인하고, 그다음에만 실제 게시로 바꾸세요.
실제 게시 후에는 제목, 첫 문장, 링크 미리보기, 중복 여부를 Threads 앱에서 확인합니다. 현재 바로답에서 쓰는 형식은 제목 + 짧은 소개 + 블로그 링크입니다. 링크가 이미 다음 행동을 알려 주므로 “자세한 내용은 블로그에서 확인하세요” 같은 문장은 넣지 않습니다.
실패했을 때 먼저 볼 곳
“The requested resource does not exist”
만료되었거나 다른 앱에서 만든 토큰일 때 자주 보입니다. Meta에서 새 Threads 토큰을 만든 뒤 GitHub Secret만 교체하고, 수동 실행으로 다시 확인하세요. Explorer의 도메인도 graph.threads.net인지 확인합니다.
새 글이 있는데 아무것도 안 올라감
RSS에 해당 글이 들어왔는지, 발행 시각이 시작 시각보다 뒤인지, 자동 게시 변수 값이 true인지 Actions 로그에서 차례로 확인합니다.
예약 실행이 늦음
예약 실행은 정확한 발행 예약 도구가 아닙니다. 중요한 글은 수동 실행을 쓰고, 매일 정해진 시각에 반드시 게시해야 한다면 별도 예약 서비스까지 검토하세요.
자주 묻는 질문
예전에 쓴 블로그 글도 한꺼번에 올라가나요?
그렇게 되지 않도록 시작 시각 이후의 글만 대상으로 정합니다. 과거 글을 따로 올리고 싶을 때만 제목·주소를 골라 수동 실행합니다.
글을 수정하면 Threads 글도 수정되나요?
아닙니다. 이 흐름은 새 글을 한 번 공유하는 용도입니다. 이미 올라간 Threads 글은 Threads에서 직접 고치거나 새 글을 올려야 합니다.
같은 글이 두 번 올라가지 않나요?
최근 Threads 글의 본문에 블로그 주소가 있는지 먼저 확인해 같은 주소는 건너뜁니다. 이 확인은 완벽한 영구 기록 보관이 아니므로, 오래된 글을 다시 대상에 넣지 않도록 시작 시각도 함께 관리합니다.
예약 시각에 정확히 게시되나요?
아닙니다. GitHub Actions의 예약 실행은 혼잡할 때 늦어질 수 있습니다. 새 글을 바로 올려야 하는 날은 Actions 화면에서 수동 실행을 함께 사용하세요.