상세 컨텐츠

본문 제목

AI 뉴스 자동 요약 방법|매일 아침 구글 스프레드시트에 저장하기

AI 실습 & 따라하기 💻

by AI JB 2026. 7. 25. 01:40

본문

안녕하세요. IT세상 입니다.

이번 글에서는 매일 아침 AI 뉴스를 직접 검색하지 않아도 되도록, 최근 뉴스를 자동으로 모으고 AI가 핵심 내용을 요약해 구글 스프레드시트에 저장하는 자동화를 만들어 보겠습니다.

무료 방법으로도 충분히 만들 수 있습니다. 코드를 복사해 붙여 넣는 무료 방법과 화면에서 작업 블록을 연결하는 유료 방법을 각각 설명하겠습니다.

이 글을 끝까지 따라 하면 완성되는 결과
  • 최근 24시간의 AI 뉴스 자동 수집
  • 중요한 뉴스 5개를 한국어로 자동 요약
  • 수집 시간, AI 요약, 기사 제목, 원문 링크 자동 저장
  • 컴퓨터가 꺼져 있어도 매일 자동 실행

핵심 요약

  • 무료 방법: Google Apps Script와 Gemini API 무료 티어
  • 유료 방법: Make Core와 OpenAI API
  • 뉴스 수집: Google 뉴스 RSS
  • 결과 저장: 구글 스프레드시트
  • 예상 설정 시간: 무료 약 30~50분, 유료 약 20~30분
  • 자동 실행 횟수: 하루 한 번
RSS란 무엇인가요?

RSS는 사이트에 새 글이 올라왔을 때 제목, 짧은 설명, 링크를 전달하는 기능입니다. 이번 자동화는 기사 전체를 복사하지 않고 RSS가 제공하는 정보만 사용합니다.

준비물

무료 방법 준비물

  • 개인 구글 계정
  • 구글 스프레드시트
  • Google Apps Script
  • Google AI Studio에서 발급한 Gemini API 키

API는 서로 다른 프로그램이 정보를 주고받을 수 있도록 연결해 주는 통로입니다.

API 키는 해당 연결 통로를 사용할 수 있다는 것을 확인하는 비밀번호와 비슷합니다.

유료 방법 준비물

  • Make 계정
  • Make Core 요금제
  • OpenAI 개발자 계정
  • OpenAI API 결제 수단 또는 선불 크레딧
  • 구글 계정
  • 구글 스프레드시트
ChatGPT 구독과 OpenAI API는 별도입니다.

ChatGPT Plus를 사용하고 있어도 OpenAI API 사용료가 포함되는 것은 아닙니다. OpenAI 개발자 플랫폼에서 API 결제 설정을 별도로 해야 합니다.

완성되는 자동화의 흐름

Google 뉴스 RSS 최근 뉴스 5개 수집 AI 요약 구글 시트 저장
  1. 정해진 시간이 되면 자동화가 시작됩니다.
  2. Google 뉴스 RSS에서 최근 AI 뉴스가 수집됩니다.
  3. 기사 제목, 설명, 링크가 하나의 목록으로 정리됩니다.
  4. Gemini 또는 OpenAI가 뉴스 내용을 한국어로 요약합니다.
  5. 완성된 요약과 원문 링크가 구글 스프레드시트에 저장됩니다.

무료 방법: Apps Script와 Gemini 사용하기

무료 방법에서는 구글 스프레드시트 안에 자동화 코드를 넣습니다.

Google Apps Script는 구글 스프레드시트에 자동 실행 기능을 추가할 수 있는 도구입니다.

1단계. 구글 스프레드시트 만들기

  1. 구글 드라이브에 접속합니다.
  2. 왼쪽 위의 새로 만들기를 클릭합니다.
  3. Google 스프레드시트를 클릭합니다.
  4. 파일 이름을 AI 뉴스 자동 요약으로 변경합니다.
여기까지 완료했다면

화면 왼쪽 위에 ‘AI 뉴스 자동 요약’이라는 파일 이름이 표시됩니다.

2단계. Gemini API 키 만들기

  1. 새 브라우저 탭에서 Google AI Studio를 엽니다.
  2. 사용할 구글 계정으로 로그인합니다.
  3. 처음 접속했다면 이용약관을 확인하고 동의합니다.
  4. API Keys 또는 Get API key 메뉴를 엽니다.
  5. 이미 자동 생성된 API 키가 있다면 해당 키의 복사 버튼을 누릅니다.
  6. 새 키가 필요하다면 Create API key를 클릭합니다.
  7. 생성된 API 키를 복사해 안전한 곳에 임시로 보관합니다.

신규 사용자는 Google AI Studio가 프로젝트와 API 키를 자동으로 만들어 주는 경우도 있습니다.

계정이나 화면 업데이트에 따라 메뉴 이름과 위치가 조금 다르게 보일 수 있습니다.

API 키를 블로그나 공개 문서에 올리지 마세요.

다른 사람이 API 키를 사용하면 무료 사용량이 소진되거나 유료 비용이 발생할 수 있습니다.

여기까지 완료했다면

Google AI Studio의 API Keys 화면에 복사할 수 있는 API 키가 표시됩니다.

3단계. Apps Script 열기

  1. 앞에서 만든 구글 스프레드시트로 돌아갑니다.
  2. 상단 메뉴에서 확장 프로그램을 클릭합니다.
  3. Apps Script를 클릭합니다.
  4. 새 창이 열리면 기본으로 들어 있는 코드를 모두 지웁니다.
여기까지 완료했다면

Apps Script 편집기에 비어 있는 코드 입력 화면이 표시됩니다.

4단계. 자동화 코드 붙여 넣기

아래 코드를 처음부터 끝까지 복사해서 Apps Script 편집기에 붙여 넣습니다.

복사해서 사용할 전체 코드
const CONFIG = Object.freeze({
  SHEET_NAME: '뉴스요약',
  TIMEZONE: 'Asia/Seoul',
  RUN_HOUR: 7,
  MAX_ITEMS: 5,
  MODEL: 'gemini-3.5-flash-lite',
  RSS_URL:
    'https://news.google.com/rss/search?q=(인공지능%20OR%20ChatGPT%20OR%20생성형AI)%20when:1d&hl=ko&gl=KR&ceid=KR:ko'
});

/**

* 처음 한 번만 실행합니다.
* 시트와 매일 실행 트리거를 만듭니다.
  */
  function setupAutomation() {
  const sheet = getOrCreateSheet_();

formatSheet_(sheet);
deleteExistingTrigger_();

ScriptApp.newTrigger('runDailyNewsSummary')
.timeBased()
.atHour(CONFIG.RUN_HOUR)
.everyDays(1)
.inTimezone(CONFIG.TIMEZONE)
.create();

SpreadsheetApp.getActiveSpreadsheet().toast(
'뉴스요약 시트와 자동 실행 트리거를 만들었습니다.',
'설정 완료',
5
);
}

/**

* RSS 뉴스 수집 → Gemini 요약 → 시트 저장
  */
  function runDailyNewsSummary() {
  const sheet = getOrCreateSheet_();

try {
const items = fetchRssItems_(
CONFIG.RSS_URL,
CONFIG.MAX_ITEMS
);

```
if (items.length === 0) {
  sheet.appendRow([
    new Date(),
    '최근 RSS 항목을 찾지 못했습니다.',
    '',
    '수집 결과 없음'
  ]);

  return;
}

const sourceText = items
  .map(function(item, index) {
    return (
      (index + 1) +
      '. 제목: ' +
      item.title +
      '\n설명: ' +
      item.description +
      '\n링크: ' +
      item.link
    );
  })
  .join('\n\n');

const originalList = items
  .map(function(item, index) {
    return (
      (index + 1) +
      '. ' +
      item.title +
      '\n' +
      item.link
    );
  })
  .join('\n\n');

const summary = summarizeWithGemini_(sourceText);

sheet.appendRow([
  new Date(),
  summary,
  originalList,
  '완료'
]);

formatLatestRow_(sheet);
```

} catch (error) {
sheet.appendRow([
new Date(),
'',
'',
'오류: ' + error.message
]);

```
throw error;
```

}
}

/**

* Google 뉴스 RSS에서 항목을 가져옵니다.
  */
  function fetchRssItems_(url, maxItems) {
  const response = UrlFetchApp.fetch(url, {
  method: 'get',
  muteHttpExceptions: true,
  headers: {
  'User-Agent': 'Mozilla/5.0'
  }
  });

const statusCode = response.getResponseCode();

if (statusCode !== 200) {
throw new Error(
'RSS 호출 실패. HTTP 상태 코드: ' +
statusCode
);
}

const xmlText = response.getContentText();
const document = XmlService.parse(xmlText);
const root = document.getRootElement();
const channel = root.getChild('channel');

if (!channel) {
throw new Error(
'RSS에서 channel 항목을 찾지 못했습니다.'
);
}

const rssItems = channel.getChildren('item');
const results = [];
const usedTitles = {};

for (let i = 0; i < rssItems.length; i++) {
const item = rssItems[i];
const title = getChildText_(item, 'title').trim();

```
if (!title || usedTitles[title]) {
  continue;
}

usedTitles[title] = true;

results.push({
  title: title,
  link: getChildText_(item, 'link').trim(),
  description: stripHtml_(
    getChildText_(item, 'description')
  )
});

if (results.length >= maxItems) {
  break;
}
```

}

return results;
}

/**

* Gemini API로 뉴스 목록을 요약합니다.
  */
  function summarizeWithGemini_(newsText) {
  const apiKey = PropertiesService
  .getScriptProperties()
  .getProperty('GEMINI_API_KEY');

if (!apiKey) {
throw new Error(
'GEMINI_API_KEY가 없습니다. ' +
'스크립트 속성을 확인하세요.'
);
}

const prompt =
'너는 초보자를 위한 AI 뉴스 편집자다.\n' +
'아래 RSS 기사 정보만 사용해 한국어로 요약하라.\n\n' +
'[작성 규칙]\n' +
'1. 기사 정보에 없는 사실은 추측하지 않는다.\n' +
'2. 같은 사건을 다룬 기사는 하나로 묶는다.\n' +
'3. 어려운 전문용어는 쉬운 말로 설명한다.\n' +
'4. 광고성 표현과 과장된 표현을 사용하지 않는다.\n' +
'5. 제공되지 않은 링크를 새로 만들지 않는다.\n\n' +
'[출력 형식]\n' +
'오늘의 한눈 요약\n' +
'- 전체 흐름을 3문장으로 작성\n\n' +
'주요 뉴스\n' +
'1. 뉴스 제목\n' +
'- 핵심 내용 2문장\n' +
'- 왜 중요한지 1문장\n\n' +
'오늘의 관찰 포인트\n' +
'- 앞으로 확인할 내용 2개\n\n' +
'[RSS 기사 목록]\n' +
newsText;

const apiUrl =
'https://generativelanguage.googleapis.com/' +
'v1beta/models/' +
CONFIG.MODEL +
':generateContent';

const payload = {
contents: [
{
role: 'user',
parts: [
{
text: prompt
}
]
}
],
generationConfig: {
maxOutputTokens: 1200
}
};

const response = UrlFetchApp.fetch(apiUrl, {
method: 'post',
contentType: 'application/json',
headers: {
'x-goog-api-key': apiKey
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
});

const statusCode = response.getResponseCode();
const responseText = response.getContentText();

if (statusCode !== 200) {
throw new Error(
'Gemini API 오류 ' +
statusCode +
': ' +
responseText.substring(0, 500)
);
}

const data = JSON.parse(responseText);

if (
!data.candidates ||
!data.candidates[0] ||
!data.candidates[0].content ||
!data.candidates[0].content.parts
) {
throw new Error(
'Gemini 응답에서 요약 내용을 찾지 못했습니다.'
);
}

const summary = data.candidates[0]
.content
.parts
.map(function(part) {
return part.text || '';
})
.join('\n')
.trim();

if (!summary) {
throw new Error(
'Gemini가 빈 내용을 반환했습니다.'
);
}

return summary;
}

function getOrCreateSheet_() {
const spreadsheet =
SpreadsheetApp.getActiveSpreadsheet();

let sheet =
spreadsheet.getSheetByName(
CONFIG.SHEET_NAME
);

if (!sheet) {
sheet =
spreadsheet.insertSheet(
CONFIG.SHEET_NAME
);
}

if (sheet.getLastRow() === 0) {
sheet.appendRow([
'수집일시',
'AI 요약',
'원문 목록',
'상태'
]);
}

return sheet;
}

function formatSheet_(sheet) {
sheet.setFrozenRows(1);

sheet
.getRange(1, 1, 1, 4)
.setFontWeight('bold')
.setBackground('#dbeafe');

sheet.setColumnWidth(1, 150);
sheet.setColumnWidth(2, 500);
sheet.setColumnWidth(3, 420);
sheet.setColumnWidth(4, 180);

sheet
.getRange(
1,
1,
sheet.getMaxRows(),
4
)
.setVerticalAlignment('top')
.setWrap(true);

sheet
.getRange('A:A')
.setNumberFormat('yyyy-mm-dd hh:mm');
}

function formatLatestRow_(sheet) {
const lastRow = sheet.getLastRow();

sheet
.getRange(lastRow, 1, 1, 4)
.setVerticalAlignment('top')
.setWrap(true);
}

function getChildText_(element, childName) {
const child = element.getChild(childName);

return child ? child.getText() : '';
}

function stripHtml_(html) {
return String(html || '')
.replace(/<[^>]*>/g, ' ')
.replace(/ /g, ' ')
.replace(/&/g, '&')
.replace(/\s+/g, ' ')
.trim();
}

function deleteExistingTrigger_() {
const triggers =
ScriptApp.getProjectTriggers();

triggers.forEach(function(trigger) {
if (
trigger.getHandlerFunction() ===
'runDailyNewsSummary'
) {
ScriptApp.deleteTrigger(trigger);
}
});
}

코드를 붙여 넣은 뒤 위쪽의 디스크 모양 저장 버튼을 클릭합니다.

여기까지 완료했다면

코드 편집기 위쪽에 빨간 오류 표시 없이 프로젝트가 저장됩니다.

5단계. API 키를 스크립트 속성에 저장하기

  1. Apps Script 화면 왼쪽의 톱니바퀴 모양 프로젝트 설정을 클릭합니다.
  2. 화면 아래쪽에서 스크립트 속성을 찾습니다.
  3. 스크립트 속성 추가를 클릭합니다.
  4. 속성 이름에 GEMINI_API_KEY를 입력합니다.
  5. 값에 앞에서 복사한 Gemini API 키를 붙여 넣습니다.
  6. 스크립트 속성 저장을 클릭합니다.
여기까지 완료했다면

스크립트 속성 목록에 ‘GEMINI_API_KEY’가 표시됩니다.

6단계. 시트와 자동 실행 조건 만들기

  1. Apps Script 코드 편집 화면으로 돌아갑니다.
  2. 위쪽 함수 선택 메뉴에서 setupAutomation을 선택합니다.
  3. 실행 버튼을 클릭합니다.
  4. 권한 요청 창이 나타나면 권한 검토를 클릭합니다.
  5. 본인의 구글 계정을 선택합니다.
  6. 스프레드시트와 외부 서비스 연결 권한을 확인합니다.
  7. 허용을 클릭합니다.

본인이 직접 만든 Apps Script 프로젝트는 첫 실행 때 확인되지 않은 앱과 관련된 안내가 나타날 수 있습니다.

코드 내용을 직접 확인하고 본인이 만든 프로젝트인 경우에만 계속 진행하세요.

여기까지 완료했다면

구글 스프레드시트 아래쪽에 ‘뉴스요약’이라는 새 시트가 생깁니다.

7단계. 자동화를 수동으로 시험하기

  1. Apps Script 화면 위쪽 함수 선택 메뉴를 클릭합니다.
  2. runDailyNewsSummary를 선택합니다.
  3. 실행 버튼을 클릭합니다.
  4. 실행이 끝나면 구글 스프레드시트로 돌아갑니다.
  5. 아래쪽의 뉴스요약 시트를 클릭합니다.
정상 작동 결과

두 번째 줄에 실행 시간, AI 뉴스 요약, 기사 목록, ‘완료’ 상태가 표시됩니다.

8단계. 매일 아침 자동 실행되는지 확인하기

  1. Apps Script 화면 왼쪽의 알람시계 모양 트리거를 클릭합니다.
  2. 함수 이름이 runDailyNewsSummary인지 확인합니다.
  3. 이벤트 소스가 시간 기반인지 확인합니다.
  4. 실행 시간이 오전 7시대로 설정되었는지 확인합니다.
오전 7시 정각에 실행되지 않을 수 있습니다.

Apps Script 시간 기반 트리거는 서버 부하를 분산하기 위해 설정된 시간대 안에서 조금 늦게 실행될 수 있습니다.

여기까지 완료했다면

트리거 목록에 runDailyNewsSummary가 한 개 표시됩니다. 이제 컴퓨터를 꺼도 구글 서버에서 자동화가 실행됩니다.

무료 방법의 사용 한도와 한계

1. 실행 시간이 조금 달라질 수 있습니다

오전 7시로 설정해도 매일 정확히 오전 7시 정각에 실행된다고 보장할 수는 없습니다.

2. 기사 전문을 분석하지 않습니다

이 자동화는 RSS에 포함된 제목과 짧은 설명을 기준으로 요약합니다.

기사 전체를 읽는 방식보다 세부 내용이 부족할 수 있습니다.

3. RSS 주소가 변경될 수 있습니다

Google 뉴스 RSS 구조나 검색 주소가 바뀌면 뉴스가 수집되지 않을 수 있습니다.

4. Gemini 무료 티어에는 한도가 있습니다

Gemini API 무료 티어의 요청 한도는 모델과 프로젝트 상태에 따라 달라질 수 있습니다.

하루 한 번 실행하는 이번 자동화는 사용량이 많지 않지만, Google AI Studio의 사용량 화면을 가끔 확인하는 것이 좋습니다.

5. 무료 티어 데이터 처리 정책을 확인해야 합니다

Gemini 무료 티어로 전송한 데이터는 Google 제품 개선에 사용될 수 있습니다.

고객 정보, 회사 내부 자료, 주민등록번호, 전화번호 같은 민감한 정보는 입력하지 마세요.

2026년 7월 25일 기준 Apps Script 주요 한도
  • 개인 구글 계정 URL Fetch: 하루 20,000회
  • 개인 구글 계정 트리거 총 실행 시간: 하루 90분
  • 스크립트 한 번 실행 제한: 6분
  • 이번 자동화의 예상 실행 횟수: 하루 1회

서비스 한도와 정책은 변경될 수 있습니다.

유료 방법: Make와 OpenAI API 사용하기

코드를 직접 관리하기 어렵다면 Make를 이용하는 방법이 더 편할 수 있습니다.

Make에서는 자동화 과정에 들어가는 각각의 작업 블록을 모듈이라고 부릅니다.

유료 방법의 전체 구성

RSS 모듈 Text Aggregator OpenAI Google Sheets

유료 방법에 필요한 요금제

  • Make Core: 10,000크레딧 기준 월 9달러
  • OpenAI API: 사용한 토큰만큼 별도 과금
  • 추천 모델: GPT-5 nano
  • 실행 횟수: 하루 한 번, 월 약 30회

Make 무료 요금제도 월 1,000크레딧을 제공하므로 이번 자동화 한 개는 무료로 시험해 볼 수 있습니다.

다만 유료 방법에서는 분 단위 일정 설정, 더 많은 활성 시나리오, 넉넉한 크레딧을 사용할 수 있는 Make Core를 기준으로 설명합니다.

1단계. 구글 시트 준비하기

  1. 새 구글 스프레드시트를 만듭니다.
  2. 파일 이름을 AI 뉴스 자동 요약 Make로 변경합니다.
  3. 첫 번째 줄에 아래 항목을 입력합니다.
시트 첫 줄에 입력할 항목
수집일시 | AI 요약 | 원문 목록 | 상태
여기까지 완료했다면

A1부터 D1까지 수집일시, AI 요약, 원문 목록, 상태가 표시됩니다.

2단계. Make 시나리오 만들기

  1. Make에 가입하고 로그인합니다.
  2. 대시보드에서 Scenarios를 클릭합니다.
  3. Create a new scenario를 클릭합니다.
  4. 빈 화면 중앙의 큰 플러스 버튼을 클릭합니다.

시나리오는 자동화 작업 전체의 처리 순서를 의미합니다.

여기까지 완료했다면

앱과 서비스를 검색할 수 있는 모듈 선택 창이 표시됩니다.

3단계. RSS 뉴스 수집 모듈 추가하기

  1. 앱 검색창에 RSS를 입력합니다.
  2. RSS 앱을 선택합니다.
  3. Watch RSS Feed Items를 선택합니다.
  4. RSS 주소 입력칸에 아래 주소를 붙여 넣습니다.
  5. 한 번에 가져올 최대 항목 수를 5개로 설정합니다.
RSS 주소
https://news.google.com/rss/search?q=(인공지능%20OR%20ChatGPT%20OR%20생성형AI)%20when:1d&hl=ko&gl=KR&ceid=KR:ko

첫 실행 때 시작 위치를 묻는 화면이 나오면 기존 뉴스 항목을 불러올 수 있는 옵션을 선택합니다.

여기까지 완료했다면

시나리오 화면에 RSS 모듈 하나가 표시됩니다.

4단계. 뉴스 5개를 하나로 합치기

  1. RSS 모듈 오른쪽의 플러스 버튼을 클릭합니다.
  2. Tools를 검색합니다.
  3. Text Aggregator를 선택합니다.
  4. Source module에서 앞의 RSS 모듈을 선택합니다.
  5. Text 입력칸에 아래 형식을 입력합니다.
Text Aggregator 입력 형식
제목: {{RSS 모듈의 Title 값}}
설명: {{RSS 모듈의 Description 값}}
링크: {{RSS 모듈의 URL 또는 Link 값}}

중괄호 안의 값은 직접 입력하지 말고 Make 오른쪽에 표시되는 RSS 출력값을 클릭해서 넣습니다.

여기까지 완료했다면

RSS 모듈 오른쪽에 Text Aggregator 모듈이 연결됩니다.

5단계. OpenAI API 키 만들기

  1. OpenAI 개발자 플랫폼에 로그인합니다.
  2. 설정에서 API Keys 메뉴를 엽니다.
  3. Create new secret key를 클릭합니다.
  4. 키 이름을 입력합니다.
  5. 생성된 비밀 키를 복사합니다.
  6. Billing 화면에서 결제 수단이나 선불 크레딧을 설정합니다.
API 키는 생성 직후 안전한 곳에 보관하세요.

비밀 키의 전체 값은 다시 표시되지 않을 수 있습니다.

여기까지 완료했다면

OpenAI 플랫폼에 새 API 키가 생성되고 API를 사용할 준비가 됩니다.

6단계. OpenAI 요약 모듈 추가하기

  1. Text Aggregator 오른쪽의 플러스 버튼을 클릭합니다.
  2. OpenAI를 검색합니다.
  3. OpenAI (ChatGPT, Sora, Whisper) 앱을 선택합니다.
  4. Generate a Response 모듈을 선택합니다.
  5. Create a connection을 클릭합니다.
  6. 앞에서 복사한 OpenAI API 키를 입력합니다.
  7. 모델에서 GPT-5 nano를 선택합니다.
  8. GPT-5 nano가 보이지 않으면 계정에 표시되는 저비용 텍스트 모델을 선택합니다.
  9. 입력칸에 아래 프롬프트를 붙여 넣습니다.
OpenAI에 입력할 프롬프트
너는 초보자를 위한 AI 뉴스 편집자다.

아래 RSS 기사 정보만 사용해서 한국어로 요약하라.

작성 규칙:

1. 기사에 없는 사실은 추측하지 않는다.
2. 같은 사건을 다룬 기사는 하나로 묶는다.
3. 어려운 전문용어는 쉬운 말로 설명한다.
4. 과장하거나 투자 판단을 유도하지 않는다.
5. 제공되지 않은 링크를 새로 만들지 않는다.

출력 형식:

오늘의 한눈 요약

* 전체 흐름을 3문장으로 작성

주요 뉴스

1. 뉴스 제목

* 핵심 내용 2문장
* 왜 중요한지 1문장

오늘의 관찰 포인트

* 앞으로 확인할 내용 2개

RSS 기사 목록:
{{Text Aggregator의 합쳐진 텍스트}}
여기까지 완료했다면

Text Aggregator 오른쪽에 OpenAI 모듈이 연결되고 모델과 프롬프트가 저장됩니다.

7단계. 구글 스프레드시트 저장 모듈 추가하기

  1. OpenAI 모듈 오른쪽의 플러스 버튼을 클릭합니다.
  2. Google Sheets를 검색합니다.
  3. Add a Row를 선택합니다.
  4. 본인의 구글 계정을 연결합니다.
  5. 앞에서 만든 스프레드시트 파일을 선택합니다.
  6. 사용할 시트를 선택합니다.
  7. 각 열에 아래 값을 연결합니다.
시트 열 연결할 값
수집일시 Make의 현재 날짜와 시간 값
AI 요약 OpenAI 모듈의 응답 텍스트
원문 목록 Text Aggregator의 합쳐진 텍스트
상태 완료
여기까지 완료했다면

RSS, Text Aggregator, OpenAI, Google Sheets 모듈 네 개가 순서대로 연결됩니다.

8단계. 시험 실행하기

  1. 시나리오 아래쪽의 Run once를 클릭합니다.
  2. RSS 항목이 수집될 때까지 기다립니다.
  3. 각 모듈 위에 실행 숫자가 표시되는지 확인합니다.
  4. 구글 스프레드시트를 엽니다.
  5. 새 행이 추가되었는지 확인합니다.
정상 작동 결과

구글 시트에 실행 시간, OpenAI 뉴스 요약, 기사 목록, 완료 상태가 한 줄로 저장됩니다.

9단계. 매일 오전 실행하도록 설정하기

  1. Make 시나리오의 일정 설정 메뉴를 엽니다.
  2. 실행 주기를 Once every day 또는 하루 한 번 실행 옵션으로 설정합니다.
  3. 실행 시간을 오전 7시로 설정합니다.
  4. 계정 시간대가 Asia/Seoul인지 확인합니다.
  5. 시나리오를 저장합니다.
  6. 시나리오를 활성화합니다.
여기까지 완료했다면

시나리오가 활성화되고 다음 실행 예정 시간이 표시됩니다.

유료 방법의 예상 비용

2026년 7월 25일 확인 기준
  • Make 무료 요금제: 월 1,000크레딧
  • Make Core: 월 10,000크레딧 기준 9달러
  • GPT-5 nano 입력: 100만 토큰당 0.05달러
  • GPT-5 nano 출력: 100만 토큰당 0.40달러

하루에 입력 5,000토큰, 출력 1,000토큰을 사용하고 한 달 동안 30회 실행한다고 가정하면 OpenAI API 비용은 약 0.02달러입니다.

실제 비용은 기사 길이, 출력 길이, 재실행 횟수, 선택 모델에 따라 달라집니다.

이번 자동화의 월 예상 비용은 Make Core 9달러와 소액의 OpenAI API 사용료입니다.

환율, 부가세, 결제 주기에 따라 최종 결제 금액이 달라질 수 있으므로 결제 화면에서 다시 확인하세요.

무료와 유료 방법 비교

비교 항목 무료 방법 유료 방법
사용 도구 Google Sheets, Apps Script, Gemini API Make Core, OpenAI API, Google Sheets
초기 비용 0원 Make와 OpenAI 결제 설정 필요
월 예상 비용 무료 한도 안에서는 0원 약 9달러 이상
설정 난이도 중간, 코드 복사 필요 쉬움, 화면에서 모듈 연결
예상 설정 시간 약 30~50분 약 20~30분
자동 실행 범위 개인용 하루 1회 자동화 여러 시나리오와 업무 자동화로 확장 가능
사용량 제한 Apps Script와 Gemini 무료 한도 Make 크레딧과 OpenAI API 사용량
유지관리 코드와 실행 기록 확인 필요 모듈별 실행 결과를 화면에서 확인
팀 사용 개인 실습에 적합 여러 자동화를 운영할 때 유리
추천 대상 비용 없이 자동화를 배우고 싶은 사람 코드 없이 편리하게 운영하고 싶은 사람

정상 작동 확인 방법

무료 방법 확인 항목

  1. 뉴스요약 시트가 생성되어 있는지 확인합니다.
  2. Apps Script 실행 기록에 완료됨이 표시되는지 확인합니다.
  3. 시트 상태 열에 완료가 표시되는지 확인합니다.
  4. AI 요약 칸에 오늘의 한눈 요약이 있는지 확인합니다.
  5. 원문 목록에 기사 제목과 링크가 있는지 확인합니다.
  6. 트리거 화면에 runDailyNewsSummary가 한 개만 있는지 확인합니다.

유료 방법 확인 항목

  1. Make 모듈 네 개가 모두 연결되어 있는지 확인합니다.
  2. Run once 실행 후 각 모듈에 실행 숫자가 표시되는지 확인합니다.
  3. Google Sheets 모듈에 성공 표시가 나타나는지 확인합니다.
  4. 구글 시트에 새 행이 추가되는지 확인합니다.
  5. 시나리오가 활성화되어 있는지 확인합니다.
  6. 다음 실행 시간이 오전으로 표시되는지 확인합니다.

자주 발생하는 오류와 해결법

오류 1. GEMINI_API_KEY가 없다고 표시됩니다

원인: 스크립트 속성 이름이나 API 키 값이 잘못 입력된 경우입니다.

해결 방법:

  1. Apps Script의 프로젝트 설정을 엽니다.
  2. 속성 이름이 정확히 GEMINI_API_KEY인지 확인합니다.
  3. 속성 이름 앞뒤에 공백이 없는지 확인합니다.
  4. API 키를 다시 복사해 값을 교체합니다.

오류 2. Gemini API에서 401 또는 403 오류가 발생합니다

원인: API 키가 잘못되었거나 사용할 수 없는 키일 수 있습니다.

해결 방법:

  1. Google AI Studio의 API Keys 화면을 엽니다.
  2. 새 API 키를 생성합니다.
  3. 스크립트 속성의 기존 키를 새 키로 교체합니다.
  4. runDailyNewsSummary를 다시 실행합니다.

오류 3. 모델을 찾을 수 없다는 오류가 발생합니다

원인: 모델 이름이 변경되었거나 계정에서 사용할 수 없는 경우입니다.

해결 방법:

  1. Google AI Studio에서 사용 가능한 모델을 확인합니다.
  2. 코드 위쪽의 MODEL 값을 사용 가능한 Flash-Lite 모델로 변경합니다.
  3. 코드를 저장합니다.
  4. 자동화를 다시 실행합니다.

오류 4. RSS 뉴스가 수집되지 않습니다

원인: RSS 주소가 변경되었거나 일시적인 접속 문제가 발생한 경우입니다.

해결 방법:

  1. RSS 주소를 브라우저 주소창에 붙여 넣습니다.
  2. 뉴스 목록이 나타나는지 확인합니다.
  3. 검색어를 한 개로 줄여 다시 시험합니다.
  4. 잠시 뒤 자동화를 다시 실행합니다.

오류 5. 같은 뉴스가 반복됩니다

원인: 최근 24시간 뉴스 중 이전에 수집한 뉴스가 다시 포함될 수 있습니다.

해결 방법: 현재 자동화는 매일 전체 요약을 한 줄로 저장하는 방식이므로 일부 중복은 정상입니다.

오류 6. Apps Script가 정해진 시간에 실행되지 않습니다

원인: 시간 기반 트리거는 설정한 시간대 안에서 실행 시각이 달라질 수 있습니다.

해결 방법:

  1. Apps Script의 트리거 화면을 엽니다.
  2. 오류 표시가 있는지 확인합니다.
  3. 프로젝트 시간대가 Asia/Seoul인지 확인합니다.
  4. 뉴스를 더 일찍 받으려면 실행 시간을 오전 6시로 변경합니다.

오류 7. Make에서 OpenAI 모듈을 사용할 수 없습니다

원인: OpenAI API 결제가 설정되지 않았거나 API 키가 잘못된 경우입니다.

해결 방법:

  1. OpenAI 개발자 플랫폼의 Billing 화면을 엽니다.
  2. 결제 수단이나 크레딧이 등록되어 있는지 확인합니다.
  3. 새 API 키를 생성합니다.
  4. Make의 OpenAI 연결을 다시 만듭니다.

오류 8. Make에서 뉴스마다 OpenAI가 실행됩니다

원인: RSS와 OpenAI 사이에 Text Aggregator가 없는 경우입니다.

해결 방법: RSS 다음에 Text Aggregator를 추가하고 뉴스 여러 개를 하나의 텍스트로 합친 뒤 OpenAI로 보내세요.

오류 9. Make는 성공했지만 시트가 비어 있습니다

원인: Google Sheets 모듈에 OpenAI 응답값을 연결하지 않은 경우입니다.

해결 방법:

  1. Google Sheets의 Add a Row 모듈을 엽니다.
  2. AI 요약 열을 클릭합니다.
  3. OpenAI 모듈의 응답 텍스트를 선택합니다.
  4. 저장한 뒤 Run once를 다시 실행합니다.

개인정보 및 보안 주의사항

  • API 키를 코드 본문이나 공개 블로그에 넣지 마세요.
  • API 키가 보이는 화면을 그대로 캡처하지 마세요.
  • 구글 시트 공유 범위를 공개로 설정하지 마세요.
  • 전화번호, 이메일, 주민등록번호 같은 개인정보를 AI로 보내지 마세요.
  • 회사 내부 문서나 고객 자료를 무료 AI 계정에 입력하지 마세요.
  • OpenAI와 Make의 실행 기록에 처리 데이터가 남을 수 있습니다.
  • API 결제 화면에서 사용 한도와 알림을 설정하세요.
  • 사용하지 않는 API 키는 삭제하거나 비활성화하세요.
AI 요약만 보고 중요한 판단을 하지 마세요.

AI가 기사 제목이나 짧은 설명을 잘못 해석할 수 있습니다. 투자, 의료, 법률, 회사 업무와 관련된 뉴스는 반드시 원문을 다시 확인하세요.

어떤 사람에게 어떤 방법이 적합할까?

무료 방법이 적합한 사람

  • 자동화를 처음 만들어 보는 사람
  • 월 비용을 사용하고 싶지 않은 사람
  • 하루 한 번 개인용 뉴스 요약이면 충분한 사람
  • 코드를 복사해서 붙여 넣을 수 있는 사람
  • Apps Script를 배우고 싶은 사람

유료 방법이 적합한 사람

  • 코드보다 화면에서 연결하는 방식을 선호하는 사람
  • AI 뉴스 외에 이메일이나 메신저 자동화도 만들 사람
  • 여러 자동화를 한 화면에서 관리할 사람
  • 오류 발생 위치를 쉽게 확인하고 싶은 사람
  • 팀이나 회사에서 자동화를 운영할 사람

FAQ

Q1. 무료 방법은 정말 매달 결제하지 않아도 되나요?

Gemini API 무료 티어와 개인 구글 계정의 Apps Script 한도 안에서 사용하면 월 결제 없이 운영할 수 있습니다.

Q2. 컴퓨터를 계속 켜 놓아야 하나요?

아닙니다. Apps Script와 Make 모두 클라우드 서버에서 실행됩니다.

Q3. 반도체 뉴스도 수집할 수 있나요?

가능합니다. RSS 주소의 검색어를 반도체, HBM, 삼성전자, SK하이닉스 등으로 변경하면 됩니다.

Q4. 하루에 두 번 실행할 수 있나요?

가능합니다. Apps Script에서는 트리거를 추가하고 Make에서는 실행 일정을 변경하면 됩니다.

Q5. 이메일로도 받을 수 있나요?

가능합니다. 무료 방법은 Gmail 발송 코드를 추가할 수 있고, Make에서는 Gmail 모듈을 추가할 수 있습니다.

Q6. 영어 뉴스도 한국어로 요약할 수 있나요?

가능합니다. 영어 RSS를 사용하더라도 프롬프트에서 한국어로 작성하라고 지시하면 됩니다.

Q7. ChatGPT Plus를 사용하면 OpenAI API가 무료인가요?

아닙니다. ChatGPT 구독과 OpenAI API 결제는 서로 별도입니다.

Q8. Make 무료 요금제로 먼저 시험해도 되나요?

가능합니다. Make 무료 요금제는 월 1,000크레딧을 제공하므로 이번 자동화 한 개를 시험하기에는 충분할 수 있습니다.

Q9. 무료 방법과 유료 방법 중 무엇부터 해야 하나요?

자동화를 처음 배우는 단계라면 무료 방법부터 시작하는 것을 추천합니다. 코드가 어렵거나 여러 자동화를 운영할 계획이라면 유료 방법이 더 편합니다.

마무리

이번 글에서는 최근 AI 뉴스를 자동으로 수집하고, AI가 핵심 내용을 정리해 구글 스프레드시트에 저장하는 자동화를 만들었습니다.

처음에는 API 키, RSS, 트리거 같은 단어가 어렵게 느껴질 수 있습니다. 하지만 실제 작업은 키를 만들고, 코드를 붙여 넣고, 실행 버튼을 누르는 순서로 진행됩니다.

비용 없이 자동화를 경험하고 싶다면 Apps Script와 Gemini 방법부터 시작하세요.

코드를 직접 관리하는 것이 부담스럽거나 앞으로 이메일, Notion, Slack 같은 서비스까지 연결하고 싶다면 Make와 OpenAI API 방법이 더 편리합니다.

핵심 한 줄 정리

RSS로 뉴스를 모으고 AI로 요약한 뒤 구글 시트에 저장하면 매일 반복하던 뉴스 검색 시간을 줄일 수 있습니다.

관련글 더보기