지금 준비된 것은 pc판 n8n이 스탠바이이다.

지금 준비된 것은 pc판 n8n이 스탠바이이다.


먼저 준비된 글을 원본으로 보고, 여기에 제시된 내용은 제목+인트로+본문초안이다.

블로거에 포스팅할 1편의 구조는 인트로 본문-3개~4개의 소제목 결론(요약) 다음편 내용살짝 제시하고 마무리로

1편이 완성되면 이후 2~나머지 편을 자동으로 업로드하도록 만들자. 지금 준비된 것은 pc판 n8n이 스탠바이이다.



좋습니다. 지금 목표를 이렇게 잡으면 됩니다:

  • 입력 데이터제목 + 인트로 + 본문초안(편별)
  • 1편 포맷 자동 변환인트로 → 본문(소제목 3~4개) → 결론(요약) → 다음편 예고
  • 1편 발행 성공 시: 2편~N편을 예약 발행으로 자동 업로드
  • 실행 환경: PC판 n8n

아래 순서대로 구성하면 바로 돌아갑니다.


전체 자동화 구조 (n8n)

  1. Manual Trigger
  2. Read Data (Google Sheet/CSV/JSON 중 택1)
  3. Code 노드: 편별 원고를 Blogger HTML 포맷으로 변환
  4. IF 노드episode == 1 분기
  5. HTTP Request (Blogger API)
    • 1편: 즉시 발행(isDraft=false)
    • 2~N편: 예약 시간 기준으로 순차 업로드
  6. 로그 저장 (성공/실패 기록)

원고 데이터 권장 포맷

n8n에서 다루기 쉬운 JSON 예시:

[
{
"episode": 1,
"title": "같은 매출 1억인데, 왜 누구는 남고 누구는 못 남을까",
"intro": "쿠팡 판매에서 가장 먼저 바꿔야 할 질문은 매출이 아니라 순이익입니다...",
"sections": [
{ "h2": "광고비율이 순이익을 가른다", "body": "..." },
{ "h2": "광고는 부스터이지 엔진이 아니다", "body": "..." },
{ "h2": "광고 의존도를 낮추는 운영 루틴", "body": "..." },
{ "h2": "실무 체크리스트", "body": "..." }
],
"summary": "핵심은 매출이 아니라 순이익 구조를 먼저 설계하는 것입니다.",
"next_preview": "다음 편에서는 상위노출 3요소(SEO 등록·클릭률·초기 전환)를 다룹니다.",
"publishAt": "2026-04-15T09:00:00+09:00"
}
]


Code 노드 핵심 로직 (포맷 변환)

Code 노드에서 HTML을 조립:

return items.map(item => {
const d = item.json;
const sectionHtml = (d.sections || [])
.slice(0, 4)
.map(s => `<h2>${s.h2}</h2><p>${s.body}</p>`)
.join('\n');
const content = `
<p>${d.intro}</p>
${sectionHtml}
<h2>결론(요약)</h2>
<p>${d.summary}</p>
<p><strong>다음 편 예고:</strong> ${d.next_preview}</p>
<hr/>
<p>읽어주셔서 감사합니다. 다음 편에서 더 실무적인 내용으로 이어가겠습니다.</p>
`.trim();
return {
json: {
episode: d.episode,
title: d.title,
content,
publishAt: d.publishAt
}
};
});

Blogger 업로드 (HTTP Request 노드)

1) 사전 준비

  • Google Cloud에서 Blogger API 활성화
  • OAuth2 Client 생성
  • n8n Credentials에 Google OAuth2 연결
  • 블로그 ID 확인

2) 업로드 API

  • 엔드포인트:
    POST https://www.googleapis.com/blogger/v3/blogs/{blogId}/posts/
  • Body(JSON):
{
"kind": "blogger#post",
"title": "{{$json.title}}",
"content": "{{$json.content}}"
}

기본 발행은 isDraft=false(쿼리파라미터)로 처리.

3) 예약 발행

Blogger는 API 예약 처리 제약이 있어, 실무에서는 보통 두 방식 중 하나:

  • A안(추천): n8n에서 발행 시간까지 기다렸다가 실제 발행 호출
    (Wait Until 노드로 publishAt 대기 후 POST)
  • B안: 임시 draft 생성 후, 특정 시각에 publish 호출

실행 플로우 제안

  • 워크플로우 1: Build & Publish Episode 1

    • 1편만 즉시 발행
    • 성공 시 queue에 2~N 저장
  • 워크플로우 2: Scheduled Publisher

    • Cron(10분/30분 단위)
    • publishAt <= now이고 status=queued인 편 조회
    • Blogger 발행
    • 성공 시 status=published 업데이트

이렇게 분리하면 실패 복구가 쉽습니다.


지금 바로 시작할 최소 구현

  1. 원고 JSON 파일 준비
  2. n8n에서 Manual Trigger → Read File → Code(HTML 조립) → HTTP Request(Blogger)
  3. 1편 발행 테스트
  4. 이후 Wait 또는 Cron 붙여 2~N 자동화

원하시면 제가 다음 답변에서 바로
n8n import 가능한 워크플로우 JSON(1편 즉시발행 + 2~N 예약발행 큐)
형태로 만들어드리겠습니다.
(블로그ID/발행주기/시작시간만 넣으면 실행되게)

댓글

이 블로그의 인기 게시물

n8n자동화 첫걸음 - JSON으로 만든글을 자동화 해보자