워크플로 소개
Google Script 워크플로를 통한 Google Drive에 동영상 업로드
이 N8n 워크플로 템플릿은 외부 Google Apps Script 웹 앱을 사용하여 공개 URL에서 Google Drive로 동영상을 업로드하고, 업로드된 파일을 Google Drive 내에서 다시 이름을 지정하는 프로세스를 자동화합니다. n8n, Google Drive 및 Google 인프라에서 호스팅되는 사용자 지정 서버리스 로직 간의 실용적인 통합을 보여줍니다.
워크플로의 기능
워크플로는 수동 트리거(예: "워크플로 테스트" 클릭) 시 시작되며 다음 순서를 수행합니다.
- 동영상 URL과 인증 비밀이 포함된 POST 요청을 Google Apps Script 웹 애플리케이션으로 보냅니다.
- 스크립트는 외부에서 실행되어 제공된 URL에서 동영상을 다운로드하고 구성된 Google Drive 폴더에 직접 저장합니다.
- 업로드가 확인되면 n8n은 Google Drive에서 새로 업로드된 파일의 이름을 미리 정의된 이름("Music Video 1")으로 변경합니다.
이를 통해 중간 시스템에서 직접 파일 처리 또는 대규모 스토리지가 필요 없이 자동화된 클라우드 기반 동영상 수집이 가능합니다.
주요 기능 및 역량
- 외부 스크립트 통합: Google Apps Script를 경량 서버리스 함수로 활용하여 파일 다운로드 및 Drive 업로드를 처리하고 n8n의 부하를 줄입니다.
- 보안 통신: 비밀 토큰(
secret)을 사용하여 Google 스크립트 엔드포인트에 대한 요청을 인증하여 무단 액세스를 방지합니다. - 자동화된 파일 관리: 일관성과 구성을 위해 업로드 후 파일 이름을 자동으로 변경합니다.
- 이벤트 기반 실행: 수동으로 트리거되므로 테스트 또는 온디맨드 작업에 이상적입니다.
- 모듈식 설계: 각 단계는 전용 노드에 캡슐화되어 있어 수정 및 확장이 용이합니다.
주요 노드 및 목적
-
수동 트리거 노드
- 노드 유형:
n8n-nodes-base.manualTrigger - 목적: 워크플로의 시작점으로 작동합니다. 사용자가 "워크플로 테스트"를 클릭하면 이 노드가 실행 체인을 활성화합니다. 디버깅 및 제어된 실행에 유용합니다.
- 노드 유형:
-
HTTP 요청 노드 – "URL을 GDrive 스크립트로 보내 업로드"
- 노드 유형:
n8n-nodes-base.httpRequest - 목적: HTTP POST를 통해 Google Apps Script 웹 앱으로 JSON 페이로드를 보냅니다. 페이로드에는 다음이 포함됩니다.
videoUrl: 다운로드할 동영상 파일의 공개 URL입니다.secret: 스크립트 측에서 요청을 검증하기 위한 인증 키입니다.
- 이 노드는 n8n 외부에서 실제 업로드 프로세스를 트리거합니다.
- 노드 유형:
-
Google Drive 노드 – "업로드된 동영상 이름 변경"
- 노드 유형:
n8n-nodes-base.googleDrive - 작업:
Update - 매개변수:
fileId: 업로드 후 Google 스크립트에서 반환해야 하는$json.driveUrl에서 동적으로 추출됩니다.newUpdatedFileName: 파일 이름을 "Music Video 1"로 변경합니다.
- 자격 증명: Google Drive 계정에 연결된 OAuth2 자격 증명을 사용합니다.
- 목적: 깔끔하고 일관된 파일 이름으로 업로드된 콘텐츠를 구성하여 자동화를 완료합니다.
- 노드 유형:
사용 사례 및 이점
사용 사례
- 콘텐츠 수집 플랫폼: 타사 URL에서 프로모션 동영상, 사용자 생성 콘텐츠 또는 미디어 자산을 구성된 Drive 폴더로 자동 가져옵니다.
- 마케팅 자동화: 광고 캠페인, 소셜 미디어 게시물 또는 내부 검토를 위한 동영상 업로드를 예약하거나 트리거합니다.
- 백업 및 아카이빙: 원격 소스에서 미디어 파일을 가져와 표준화된 이름으로 Google Drive에 안전하게 저장합니다.
- 통합 미들웨어: 동영상 링크를 생성하는 시스템(녹화 도구 또는 AI 동영상 생성기 등)과 Google Workspace 환경을 연결합니다.
이점
- 효율성: 수동 다운로드 및 업로드 작업을 제거합니다.
- 확장성: 여러 URL을 반복하거나 웹훅 트리거와 통합하도록 확장할 수 있습니다.
- 보안: 민감한 스크립트를 인증된 엔드포인트 뒤에 유지합니다.
- 유연성: 동영상 소스, 대상 이름 수정 또는 공유 권한 또는 폴더 구성과 같은 추가 단계를 추가하기 쉽습니다.
단계별 워크플로 로직
-
시작 (수동 트리거)
→ 사용자가 "워크플로 테스트"를 클릭하여 워크플로를 수동으로 시작합니다. -
Google 스크립트로 요청 보내기
→ HTTP 요청 노드는 본문과 함께"your_google_script_web_app_url"로 POST 요청을 보냅니다.{ "videoUrl": "https://example.com/path/to/your.mp4", "secret": "your-strong-secret-here" }→ Google Apps Script는 이를 수신하고, 비밀을 검증하고, 동영상을 가져와 지정된 Google Drive 위치에 업로드합니다.
-
파일 ID / URL 수신 (암시적)
→ 현재 설정에 명시적으로 표시되지는 않지만, Google 스크립트가 업로드된 동영상의fileId또는driveUrl을 응답으로 반환할 것으로 예상됩니다.
→ 다음 노드에서 사용할 수 있도록 이 값을$json.driveUrl에 매핑해야 합니다. -
업로드된 파일 이름 변경
→ Google Drive 노드는 수신된fileId(={{ $json.driveUrl }}에서)를 사용하여 메타데이터를 업데이트합니다.
→update작업을 사용하여 파일 이름을 **"Music Video 1"**으로 변경합니다. -
워크플로 완료
→ 동영상은 이제 새 이름으로 Google Drive에 있으며 완전히 자동화되었습니다.
⚠️ 참고: 전체 기능을 사용하려면 Google Apps Script가
fileId입력 필드와 호환되는 형식으로 올바른fileId또는webViewLink를 반환하는지 확인하십시오. 응답 구조에 변환이 필요한 경우 Set 노드를 사용하여 출력 구문을 조정해야 할 수 있습니다.
결론
이 워크플로는 n8n이 외부 API와 Google 서비스 간의 상호 작용을 효율적으로 조정하는 방법을 보여줍니다. Google Apps Script에 무거운 작업(파일 전송 등)을 오프로드하고 n8n에서 제어 로직을 유지함으로써 사용자는 Google Drive에서 동영상 콘텐츠를 관리하기 위한 안전하고 확장 가능하며 유지 관리 가능한 자동화 파이프라인을 달성합니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.