유튜브 영상 하나 만들고 편집하고 업로드까지 매번 같은 동작을 반복하니 의욕이 점점 떨어지죠.
저도 AI로 만든 쇼츠를 올리면서 똑같은 과정을 반복하다가 “이건 자동화 안 하면 손해다!” 싶었습니다.
그래서 노코드 툴 MAKE.com을 사용했습니다.
구글 드라이드+구글시트+MAKE+유튜브를 엮어서 체크박스 한번으로 업로드를 끝내는 방법을 천천히 알려드릴게요.
많이 활용해보세요.

유튜브 영상 업로드 자동화 MAKE.com
유튜브 영상 업로드 자동화 Make.com

3가지 준비하여 설계

1.구글 드라이브

영상 파일을 모아 둘 전용 폴더를 만듭니다.
파일 이름은 원하는 이름 하셔서 올리시면 됩니다.

구글 드라이브 영상 폴더
구글 드라이브 영상 폴더
영상 파일 업로드
영상 파일 업로드

2.구글 시트

유튜브 제목, 유튜브 내용, 인스타그램 내용, 영상 링크, 업로드 요청, 업로드 완료 저는 이렇게 만들었습니다.
인스타그램은 아직이지만 이것 또한 자동화를 할 것이기 때문에 미리 준비를 해놨습니다.
제목은 원하는거 작성하시고, 내용에 해시태그를 포함하여 작성해주세요. (MAKE에서 유튜브 영상 업로드는 가능하지만 태그 작성란은 따로 없더라고요.)
작성해놓고 이후에 오른쪽에 있는 체크박스만 눌러주면 됩니다.

구글 시트 만들기
구글 시트 만들기

3.MAKE.com 시나리오

Step1. Webhook에서 구글 시트의 체크박스를 인식하여 데이터(구글 시트에 작성해놓은 데이터)를 가져옵니다.

업로드 요청 체크박스 클릭
업로드 요청 체크박스 클릭

Step2. 데이터 중 파일이 있는 Google Drive의 URL을 Text Parser를 활용하여 ID값만 추출해줍니다.

Text Parser 설정
Text Parser 설정

Step3. 구글 드라이브에서 ID값을 활용해 파일을 다운로드 해줍니다.

구글 드라이브 설정
구글 드라이브 설정

Step4. 영상 다운로드 완료 후 유튜브에 영상을 업로드 해줍니다.

유튜브 업로드 설정
유튜브 업로드 설정

핵심 포인트 1 : Apps Script로 체크박스를 MAKE Webhooks에 연결

구글 시트에서 체크박스의 변경을 감지해서 동작을 해야하기 때문에 Make의 Webhooks와 연결을 해줘야 합니다.
여기에서 많이 고전을 했는데 저처럼 어려움이 겪고 계신분들이 있지 않을까 싶어 그대로 공개합니다.😉

function onEdit(e) {
  if (!e) { Logger.log('실제 편집 이벤트 아님'); return; }

  const sheet = e.source.getActiveSheet();
  const editedRange = e.range;
  const columnToCheck = 7;              // G열
  if (editedRange.getColumn() !== columnToCheck) return;

  const row       = editedRange.getRow();
  const isChecked = sheet.getRange(row, columnToCheck).getValue();
  if (!isChecked) return;               // FALSE면 종료

  // --- 데이터 읽기 ---
  const y_title       = sheet.getRange(row, 2).getValue();
  const y_description = sheet.getRange(row, 3).getValue();
  const y_tag         = sheet.getRange(row, 4).getValue();
  const insta_caption = sheet.getRange(row, 5).getValue();
  const video_url     = sheet.getRange(row, 6).getValue();

  // --- 웹훅 호출 ---
  const webhookUrl = 'MAKE Webhooks URL';
  try {
    const res = UrlFetchApp.fetch(webhookUrl, {
      method: 'post',
      contentType: 'application/json',
      payload: JSON.stringify({
        youtube_title: y_title,
        youtube_description: y_description,
        youtube_tags: y_tag,
        instagram_caption: insta_caption,
        video_url: video_url,
        row_number: row
      }),
      muteHttpExceptions: true
    });
    Logger.log('Status: ' + res.getResponseCode());

    // 완료 처리
    sheet.getRange(row, columnToCheck + 1).setValue(true); // 업로드 완료 체크 등
  } catch (err) {
    Logger.log('Webhook 호출 실패: ' + err);
  }
}

중요한 부분은 이정도 입니다.
const columnToCheck = 7; > 체크박스가 있는 행의 번호를 써줍니다. 저는 G열에 있어서 7을 입력했습니다.
그리고 const webhookUrl = ‘MAKE Webhooks URL‘; 이 부분의 URL은 MAKE에 있는 WebHooks URL을 복사 붙여넣기 해주세요.
이렇게 하고 배포는 안누르셔도 되고 저장을 해주세요.

구글 시트 Apps Script 메뉴
구글 시트 Apps Script 메뉴
Code.gs 코드 변경
Code.gs 코드 변경
Make Webhooks URL 확인
Make Webhook URL 확인

핵심 포인트 2 : 트리거 만들기

트리거라는 말이 뭔가 어렵게 느껴질 수도 있는데 일단 따라서 만들어주시면 됩니다.
Apps Script의 왼쪽에 보시면 시계(트리거)를 눌러주세요.

트리거 매뉴 선택하기
트리거 매뉴 선택하기

일단 저도 아무것도 없는데 이곳에 트리거를 추가해주면 됩니다.
트리거 설정은 OnEdit(), Head, 스프레드시트에서, 수정 시 이렇게 설정해서 만들어주세요.
이렇게 설정을 해놓아야 체크박스를 인식해서 MAKE로 보낼 수 있습니다.

트리거 추가
트리거 추가

자동화 작동 확인 및 자주 묻는 질문

진행하면서 몇가지 확인해야할 사항들을 정리해보겠습니다.

Q1. 영상이 안 올라가요!
A1. 드라이브 링크를 “공유 가능”으로 바꾸었는지 확인해주세요. (링크를 가진사람은 누구나 접근 가능하도록 설정)

Q2. 404 File not found
A2. 구글 드라이브의 영상 URL이 잘못 입력될 가능성이 매우 큽니다. 다시 확인해주세요. 그리고 MAKE에서 출력되는 값을 확인해보세요.

유튜브 업로드 진행 중
유튜브 업로드 진행 중

마치며

오늘 만들어본 체크박스 클릭 -> MAKE -> 유튜브 업로드 이 루트만 구축해놔도 직접 작업해야 할 공수가 상당히 줄어듭니다.
당장 이 세팅을 하는데 시간이 좀 필요할 수 있지만 한번 만들어놓으면 정말 많이 사용할 수 있어 결과적으로 시간이 엄청 단축되게 됩니다.
영상 하나를 정말 정성껏 만드는 분들이라면 크게 상관은 없겠지만 저처럼 수익화를 위한 뚜렷한 목적과 AI를 활용한 영상을 여러개 등록하시는 분들은 유용하게 사용하실 수 있을 것 같습니다.
다음에는 인스타그램 릴스 자동 업로드도 실험해서 올려보도록 하겠습니다.
감사합니다.

drlee web banner

Similar Posts