[n8n] n8n과 Google Blogger API 연동 자동화




자동화 워크플로우는 반복적인 작업을 줄이고 효율을 극대화할 수 있는 강력한 도구입니다. 특히 블로그 포스팅처럼 정기적으로 발생하는 작업은 자동화를 통해 시간과 리소스를 절약할 수 있습니다. 이번 글에서는 오픈소스 자동화 도구인 n8nGoogle Blogger API를 연동하여 블로그 글을 자동으로 발행하는 워크플로우를 구성하는 방법을 자세히 설명합니다.


n8n과 Google Blogger API 연동 소개

n8n이란?

n8n은 워크플로우 자동화 도구로, 다양한 API 및 앱과의 통합을 지원합니다. 시각적인 노드 기반 인터페이스를 통해 사용자는 복잡한 프로세스를 코드 없이 구성할 수 있습니다.

Google Blogger API란?

Google Blogger API는 Google 블로거 플랫폼의 포스트 작성, 수정, 삭제를 포함한 다양한 기능을 API를 통해 제어할 수 있게 해주는 RESTful API입니다. 인증은 OAuth2 기반이며, 프로그래밍적으로 콘텐츠를 제어할 수 있습니다.


워크플로우 상세 구성

해당 워크플로우는 총 2개의 노드로 구성되어 있으며, 사용자가 수동으로 워크플로우를 실행하면 Google Blogger API를 호출하여 새 블로그 글이 게시되도록 설계되어 있습니다.

1. Manual Trigger 노드

  • 역할: 사용자가 수동으로 워크플로우를 실행하도록 하는 시작점입니다.
  • 위치: 첫 번째 노드이며 개발 및 테스트 단계에서 매우 유용합니다.

2. HTTP Request 노드 (Google Blogger API 호출)

  • 역할: 실제 Google Blogger API를 호출하여 새 블로그 포스트를 작성합니다.
  • 설정 내역:
    • Method: POST
    • URL: https://www.googleapis.com/blogger/v3/blogs/1207404841084434894/posts/
    • Authentication: OAuth2 (Google Blogger OAuth2 크레덴셜 사용)
    • Headers: Content-Type: application/json
    • Body (JSON):
{
  "kind": "blogger#post",
  "blog": {
    "id": "1207404841084434894"
  },
  "title": "A new post",
  "content": "With <b>exciting</b> content...",
  "labels": "test1, test2"
}
  • 결과: 워크플로우가 실행되면 해당 블로그 ID를 가진 Google 블로거 계정에 글이 등록됩니다.

n8n 노드

JSON 코드를 n8n에 복사/붙여넣기하면 노드가 import 됩니다.

{
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -240,
        -240
      ],
      "id": "50882454-6786-4cfb-a529-4b97e96fbfc7",
      "name": "When clicking ‘Test workflow’"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://www.googleapis.com/blogger/v3/blogs/1207404841084434894/posts/",
        "authentication": "genericCredentialType",
        "genericAuthType": "oAuth2Api",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n  \"kind\": \"blogger#post\",\n  \"blog\": {\n    \"id\": \"1207404841084434894\"\n  },\n  \"title\": \"A new post\",\n  \"content\": \"With <b>exciting</b> content...\",\n  \"labels\": \"test1, test2\"\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        20,
        -240
      ],
      "id": "14369cd0-ebfa-471e-bf87-4666ae423745",
      "name": "HTTP Request",
      "credentials": {
        "oAuth2Api": {
          "id": "m6AxnJ1QGJiWpq9X",
          "name": "Google Blogger OAuth2"
        }
      }
    }
  ],
  "connections": {
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "4cfab98e62c4a159184728359d08e97444341de70be260ad1fea3c4656f8ae06"
  }
}

인증 처리 방식 (OAuth2 설정)

Google Blogger API는 OAuth 2.0 인증을 통해 접근해야 하며, n8n에서는 이를 크리덴셜로 설정할 수 있습니다.

1. Google Cloud Console에서 OAuth 2.0 클라이언트 생성

  1. Google Cloud Console 접속
  2. 프로젝트 생성 또는 기존 프로젝트 선택
  3. API 및 서비스 > 사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth 클라이언트 ID 선택
  4. 애플리케이션 유형은 웹 애플리케이션 선택
  5. 승인된 리디렉션 URI에 다음 주소 추가:
    https://n8n.yourdomain.com/rest/oauth2-credential/callback
  6. 생성 후 클라이언트 ID클라이언트 시크릿 복사

2. n8n 내에서 OAuth2 Credential 설정

  1. n8n UI에서 좌측 상단 메뉴 > Credentials 선택
  2. + 클릭 후 OAuth2 API 선택
  3. 다음 항목 입력:
    • Auth URL: https://accounts.google.com/o/oauth2/v2/auth
    • Access Token URL: https://oauth2.googleapis.com/token
    • Client ID / Client Secret: Google에서 발급받은 값 입력
    • Scope: https://www.googleapis.com/auth/blogger
    • Token Type: Bearer
    • Authentication: Header Auth 선택
    • Redirect URL: 자동으로 설정됨 (위에서 등록한 URI와 동일해야 함)
  4. 저장 후 ‘Connect OAuth2 Account’ 버튼 클릭해 인증 진행

이 설정이 완료되면 HTTP Request 노드에서 이 크리덴셜을 선택해 안전하게 Google Blogger API에 접근할 수 있습니다.


확장 활용 방안

  • 동적 콘텐츠 작성: Webhook이나 Google Sheets와 연결하여 콘텐츠를 실시간으로 받아 포스트 생성 가능
  • 예약 발행 기능 추가: published 파라미터를 활용하여 지정 시간에 게시되도록 설정
  • 다중 블로그 연동: 블로그 ID만 바꾸어 여러 계정/블로그에 대응 가능

결론

이번 포스트에서는 n8n을 활용한 Google Blogger API 자동화 워크플로우를 상세히 살펴보았습니다. 수동 테스트 기반이지만 충분히 동적 확장 가능하며, 실제 업무 환경에서도 유용하게 적용할 수 있습니다. 향후 다양한 입력 방식과 통합하면 더욱 정교한 블로그 운영 자동화가 가능합니다.




Leave a Comment