본문 바로가기
N8N

[n8n 튜토리얼] 1. Http request, 구글 OAuth, API 및 노드 사용하기

by Majestyblue 2025. 6. 17.

1. HTTP Request

Http Request 노드는 4가지 컴포넌트로 구성되어 있다. 

※ 꺼무위키를 보아하니, 얘만 잘 다뤄도 반 이상은 이해한거라고 카더라

 

URL, Method, Header, Body(Optional)

 

 

1) URL

URL은 웹에서 리소스(페이지, 이미지, PDF 등)의 고유한 위치

 

 

 

2) Method

Method는 주어진 URL에서 수행할 작업을 설명한다.

GET: 정보 수신(예를 들어 구글 시트 읽기)

POST: 정보 전송

(DELETE, PUT, PATCH 등은 덜 쓰인다, 그 외에도 더 있다?)

 

3) Header

Header는 요청에 대한 자세한 내용(맥락, context)를 제공한다.

헤더의 일반적인 정보로는 위치, 언어, 장치 유형 등이 있다.

예를 들어 애플리케이션/json 서버에 JSON 형식의 응답을 원한다고 하는것이다.

 

4) Body

Body(본문)은 POST 요청에 대해서만 존재한다. Body에는 서버로 보낼 정보가 포함되어 있다.

양식 제출 예시를 사용하면 본문을 다음과 같은 내용이 포함될 수 있다.

  • first_name: maxim
  • last_name: poulsen
  • email: maxim@example.com

5) Credentials

Credentials(자격 증명)은 특정 요청을 할 수 있음을 애플리케이션에 알리는 방법이다.

대부분의 API는 자격 증명을 통한 인증이 필요하며 주요 두 가지 방법이 있다.

  • Query parameter(쿼리 매개변수): ?api_key=xxx_xxx_xxx
  • Header(헤더): Authorization: Bearer xxx_xxx_xxx

6) 응답 구성 요소

응답 구성 요소에는 세 가지 구성 요소가 있다.

(1) Status code(상태 코드)

상태코드는 요청이 성공했는지 실패했는지를 나타내는 3자리 숫자이다.

일반적인 상태 코드는 아래와 같다.

  • 200: OK(standard successful response): 확인(표준응답 성공)
  • 401: Unanthorized(authentication): 미인증
  • 404: Not found: 찾을 수 없음
  • 500: Internal Server Error: 내부 서버 오류

일반적으로 200번때는 응답이 성공적으로 이루어진 것이고, 400번때는 어떤 종류의 오류가 있고 이러한 요청을 수정해야 하며 500번때는 서버 오류를 의미하여 다시 삭해야 한다.

 

(2) header

일반적으로 Content-Length, Content-Type, Expires 등이 있다.

 

(3) Body

일반적으로 HTML, JSON, Data 등이 있다.

 

2. n8n 노드

n8n의 노드는 크게 3가지 범주가 있다.

  • 진입 지점(Entry point)
  • 함수(Function)
  • 출구 지점(Exit point)

 

또한 트리거, 앱 내 동작, 데이터 변환, 흐름, 파일 및 고급과 같은 다양한 유형의 노드가 존재한다.

 

아래와 같이 아무것도 없는 빈 공간에서 +를 클릭하면 워크플로우의 첫 번째 노드이므로 트리거 노드를 추가하라는 메세지가 뜬다.

(웹에서 그냥 구글 번역시 사용하는 중입니다.)

 

다양한 시작 트리거가 있겠지만 (특히 앱 이벤트를 누르면 훨씬 많은 앱들의 작용으로 워크플로우를 시작하게 할 수 있다.)

일단 "Trigger manually(수동으로 트리거)"를 선택해 보자.

 

 

선택한 다음 노드 옆에 네모난 플러스를 누른 후 google sheet를 클릭하면 아래와 같이 동작(action)과 트리거(trigger) 목록이 나온다.

 

 

아무 노드를 선택한 후 (본인은 스프레드시트 생성 클릭)

아래와 같이 뜨고, 오른쪽 마우스를 누르면 노드 액션을 볼 수 있다.

 

 

노드를 두번 클릭하면 아래와 같이 설정이 열린다.

 

 

1) Credentials(자격증명)

인증이 필요한 노드부터 서비스까지 접근 가능하며 인스턴스 수준에서 저장된다. 또한 다양한 공유 옵션을 가지고 있다.

(어 뭐야? 벌써 끝이야?)

 

 

2) n8n 예시

구글 시트를 연결하여보자. 튜토리얼 가이드와 같이 구글 시트로 n8n Demo Data를 만들었다. (Company info 시트는 뭔지 나도 모르것음...)

 

 

노드 추가하기를 눌러 구글 시트 → 시트에서 행 가져오기(Get row(s) in sheet)를 클릭한다.

 

 

자격 증명을 입력해야 한다.

 

Oauth2를 사용한다는데 Open Authorization이라고 하여 웹 및 애플리케이션 인증 및 권한 부여를 위한 개방형 표준 프로토콜이라고 하네... 인증 받는 방법은 아래 Docs를 참고해야한다.

 

https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/?utm_source=n8n_app&utm_medium=credential_settings&utm_campaign=create_new_credentials_modal

 

Google OAuth2 single service | n8n Docs

Integrations Built-in nodes Credentials Google Google: OAuth2 single service This document contains instructions for creating a Google credential for a single service. They're also available as a video. Prerequisites Set up OAuth There are five steps to co

docs.n8n.io

 

아래와 같이 구글 클라우드에 들어가서 프로젝트를 새로 만든다. 그리고 API 및 서비스에 접속한다.

 

 

 

n8n이 Google Sheets에 접근하려면 해당 API를 활성화해야 한다.

  1. 왼쪽 메뉴에서 '라이브러리' 를 클릭하거나, 상단의 검색창에 'API 라이브러리'를 검색하여 이동
  2. 검색창에 다음 API들을 검색하여 각각 '사용 설정' 버튼을 클릭
    • Google Sheets API
    • Google Drive API (Google Sheets는 Google Drive와 연동되므로 Drive API도 함께 활성화하는 것이 일반적이며, 일부 n8n 기능에서 필요할 수 있다)
  3. 두 API 모두 '사용 설정됨'으로 표시되는지 확인한다.

두 번째로 OAuth 설정을 하자.

 

  1. 왼쪽 메뉴에서 'OAuth 동의 화면' 을 클릭 → 시작하기
  2. 앱 등록(App Registration) 정보 입력:
    • 앱 이름(App name): my n8n Integration 등 알아보기 쉬운 이름을 입력한다.
    • 사용자 지원 이메일(User support email): 본인의 이메일 주소를 입력한다.
    • 대상 : 대부분의 경우 '외부(External)' 를 선택하고 '만들기(Create)' 클릭 (조직 내부에서만 사용하는 경우 '내부'를 선택할 수 있지만, n8n은 보통 외부 앱으로 간주.)
    • 연락처 정보: 본인 이메일 입력, → 정책 동의하고 만들기 클릭
    • 왼쪽 창 → 브랜딩 클릭 → 앱 도메인(Application domains):
      • 애플리케이션 홈페이지(Application Home page): (선택 사항) n8n 인스턴스 URL (예: https://your.n8n.domain 또는 http://localhost:5678)
      • 애플리케이션 개인정보처리방침 링크(Application Privacy policy link): (선택 사항)
      • 애플리케이션 서비스 약관 링크(Application Terms of service link): (선택 사항)
    • 승인된 도메인(Authorized domains): n8n 인스턴스의 도메인을 추가한다 (예: your.n8n.domain 또는 로컬인 경우 localhost)
    • 개발자 연락처 정보(Developer contact information): 본인의 이메일 주소를 입력
    • '저장하고 계속하기(Save and Continue)' 를 클릭
  3. 범위(Scopes) 구성:
    • n8n이 Google Sheets에 접근하기 위해 필요한 권한을 정의한다.
    • 왼쪽 창 → 데이터 엑세스 클릭 → '범위 추가 또는 삭제(Add or Remove Scopes)' 버튼을 클릭
    • 오른쪽 사이드바에서 다음 범위를 찾아 체크하고 '업데이트(Update)' 를 클릭
      • .../auth/spreadsheets (Google Sheets 읽기/쓰기 권한)
      • .../auth/drive.file (Google Drive 파일 생성, 수정, 삭제 권한 - 시트를 다룰 때 유용)
      • (선택 사항이지만 일반적으로 포함) .../auth/userinfo.email (사용자 이메일 주소 확인)
      • (선택 사항이지만 일반적으로 포함) .../auth/userinfo.profile (사용자 프로필 정보 확인)
    • '저장하고 계속하기(Save and Continue)' 를 클릭
  4. 테스트 사용자(Test users) 추가 (선택 사항이지만 권장):
    • 앱이 '게시 상태(Publishing status)'에서 '테스트 중(Testing)'일 경우, 테스트 사용자를 추가해야 앱에 접근할 수 있다
    • 왼쪽 창 → 대상 → 테스트 사용자의 '사용자 추가(Add Users)' 버튼을 클릭하고, OAuth2 인증을 시도할 Google 계정의 이메일 주소를 입력 (보통 본인의 Google 계정)
    • '저장하고 계속하기(Save and Continue)' 를 클릭
  5. 요약(Summary) 확인 및 게시:
    • 설정한 내용을 검토
    • '대시보드로 돌아가기(Back to Dashboard)' 를 클릭
    • 중요: 앱이 '테스트 중(Testing)' 상태일 것이다. 실제 사용하려면 '앱 게시(PUBLISH APP)' 또는 '프로덕션으로 푸시(PUSH TO PRODUCTION)' 버튼을 클릭해야 한다. 테스트 단계에서는 테스트 사용자만 접근 가능하다

 

 

 

OAuth 2.0 클라이언트 ID 생성, 이제 n8n이 Google API와 통신하는 데 사용할 "신분증"을 만들어야 한다.

  1. 왼쪽 메뉴에서 '사용자 인증 정보(Credentials)' 를 클릭
  2. 상단의 '+ 사용자 인증 정보 만들기(CREATE CREDENTIALS)' 버튼을 클릭하고 드롭다운 메뉴에서 'OAuth 클라이언트 ID(OAuth client ID)' 를 선택
  3. 애플리케이션 유형(Application Type):
    • '웹 애플리케이션(Web application)' 을 선택
  4. 이름(Name): n8n Google Sheets 등 알아보기 쉬운 이름을 입력
  5. 승인된 리디렉션 URI(Authorized redirect URIs): 이 부분이 가장 중요하다.
  6. '만들기(Create)' 버튼을 클릭
  7. 팝업 창에 '클라이언트 ID(Client ID)''클라이언트 보안 비밀번호(Client Secret)' 가 표시된다
    • 이 두 값은 매우 중요하므로 안전한 곳에 복사해 둔다. (나중에 n8n 설정 시 필요하다.)
    • 팝업을 닫고, '사용자 인증 정보' 페이지에서 방금 생성한 클라이언트 ID를 다시 확인할 수 있다

 

 

이제 n8n에서 진행해 보자

 

  1. n8n UI 에 접속
  2. 구글 시트 검색 → 관련 노드 추가하고 'Credentials' (자물쇠 모양 아이콘)을 클릭
  3. 'New Credential' 버튼을 클릭
  4. 검색창에 Google을 입력하고 'Google Sheets OAuth2 API' 또는 'Google OAuth2 API' 를 선택 (Google Sheets 전용이 있다면 더 좋고, 아니라면 일반 Google OAuth2를 선택하고 스코프를 수동으로 지정할 수 있다.)
  5. Credential Name: 알아보기 쉬운 이름 (예: My Google Sheets Credential)을 입력
  6. Client ID: Google Cloud에서 복사해 둔 '클라이언트 ID'를 여기에 붙여 넣는다.
  7. Client Secret: Google Cloud에서 복사해 둔 '클라이언트 보안 비밀번호'를 여기에 붙여넣는다
  8. Sign in with Google 클릭 → 계정 선택, 로그인 →  "계속" 클릭
  9. Google 계정에 대한 엑세스 요청에 "일단은 모두 선택" 클릭 → 계속
  10. 하니까 n8n success! 이렇게 뜨네

 

3. google sheets 노드 사용하기

위의 과정대로 OAuth 인증을 거쳤다면 아래와 같이 설정, → Execute step을 누르면 오른쪽에 표가 뜨는 것을 볼 수 있다.

 

JSON, Schema로도 볼 수 있다.

 

 

필터는 일단 넘어가고, 옵션은 아래와 같이 선택해 보자

 

 

자, 이렇게 하여 아래와 같이 완료되었다.