🚀 구글 Blogger 자동 포스팅을 위한 - Apps Script 설정하기

🚀 구글 Blogger 자동 포스팅을 위한 - Apps Script 설정하기

소요 시간: 약 20분
난이도: 초급 (컴퓨터 초보자도 가능!)
준비물: Google 계정, Blogger 블로그


📌 목차

  1. 개요
  2. 1단계: Google Cloud 프로젝트 생성
  3. 2단계: Blogger API 활성화
  4. 3단계: OAuth 동의 화면 설정
  5. 4단계: OAuth 클라이언트 ID 생성
  6. 5단계: OAuth Playground에서 Refresh Token 받기
  7. 6단계: Apps Script 프로젝트 생성
  8. 7단계: Apps Script 코드 작성
  9. 8단계: Apps Script 배포
  10. 9단계: Blog ID 찾기
  11. 10단계: 테스트
  12. 문제 해결

개요

이 가이드는 AI 블로그 자동 작성 프로그램에서 Blogger로 자동 포스팅하기 위해 필요한 설정을 단계별로 설명합니다.

필요한 것들:

  • ✅ Google 계정 (Gmail)
  • ✅ Blogger 블로그 (없으면 만들기)
  • ✅ 크롬 브라우저 (권장)
  • ✅ 인터넷 연결
  • ✅ 약 20분의 시간

받게 될 것들:

  • 📝 Apps Script URL (예: https://script.google.com/macros/s/AKfy...xyz/exec)
  • 🔑 Client ID (예: 123456789-abc...xyz.apps.googleusercontent.com)
  • 🔐 Client Secret (예: GOCSPX-abc...xyz)
  • 🔄 Refresh Token (예: 1//04abc...xyz)
  • 🆔 Blog ID (예: 1234567890123456789)

1단계: Google Cloud 프로젝트 생성

1-1. Google Cloud Console 접속

  1. 브라우저를 열고 아래 주소로 이동하세요:

    https://console.cloud.google.com
    
  2. Google 계정으로 로그인합니다.

    • ⚠️ 주의: Blogger 블로그를 소유한 계정으로 로그인하세요!

1-2. 프로젝트 생성

  1. 화면 상단 왼쪽에 "프로젝트 선택" 버튼을 클릭합니다.

    • 또는 상단 중앙에 프로젝트 이름이 보입니다.
  2. 팝업 창에서 "새 프로젝트" 버튼을 클릭합니다.

  3. 프로젝트 정보를 입력합니다:

    프로젝트 이름: BloggerAuto
    조직: (선택 안 함)
    위치: (선택 안 함)
    
    • 💡 : 프로젝트 이름은 자유롭게 지어도 됩니다!
  4. "만들기" 버튼을 클릭합니다.

  5. 프로젝트 생성 완료! (약 10초 소요)

1-3. 프로젝트 선택 확인

  • 화면 상단에 방금 만든 프로젝트 이름이 표시되는지 확인하세요.
  • 예: BloggerAuto

2단계: Blogger API 활성화

2-1. API 라이브러리로 이동

  1. 화면 왼쪽 상단 ☰ (햄버거 메뉴) 클릭

  2. 메뉴에서 다음을 선택:

    API 및 서비스 → 라이브러리
    

2-2. Blogger API 검색

  1. 검색창에 다음을 입력:

    blogger
    
  2. 검색 결과에서 "Blogger API v3" 클릭

    • 💡 확인: Google 로고가 있는 공식 API인지 확인하세요!

2-3. API 활성화

  1. "사용" 또는 "Enable" 버튼 클릭

  2. 잠시 기다리면 활성화 완료!

  3. 화면에 "API가 사용 설정됨" 메시지 표시


3단계: OAuth 동의 화면 설정

3-1. OAuth 동의 화면으로 이동

  1. 왼쪽 메뉴에서:
    API 및 서비스 → OAuth 동의 화면
    

3-2. 사용자 유형 선택

  1. "외부" 선택

    • ⚠️ 중요: "내부"가 아닌 "외부"를 선택하세요!
  2. "만들기" 버튼 클릭

3-3. 앱 정보 입력

다음 정보를 입력합니다:

OAuth 동의 화면 탭:

앱 이름*: Blogger Auto Publisher
   (원하는 이름으로 자유롭게)

사용자 지원 이메일*: 본인 Gmail 주소 선택

앱 로고: (선택사항 - 비워두기)

앱 도메인:
  - 애플리케이션 홈페이지: (비워두기)
  - 애플리케이션 개인정보처리방침: (비워두기)
  - 애플리케이션 서비스 약관: (비워두기)

승인된 도메인: (비워두기)

개발자 연락처 정보*: 본인 Gmail 주소 입력

"저장 후 계속" 클릭

3-4. 범위(Scopes) 설정

  1. "범위 추가 또는 삭제" 버튼 클릭

  2. 필터 검색창에 입력:

    blogger
    
  3. 다음 범위를 찾아 체크:

    ✅ .../auth/blogger
       Blogger 계정 관리
    
  4. "업데이트" 버튼 클릭

  5. "저장 후 계속" 클릭

3-5. 테스트 사용자 추가

  1. "+ ADD USERS" 버튼 클릭

  2. 본인 Gmail 주소 입력:

    yourname@gmail.com
    
    • ⚠️ 중요: Blogger 블로그 소유자 계정을 입력하세요!
  3. "추가" 버튼 클릭

  4. "저장 후 계속" 클릭

3-6. 요약 확인

  1. 입력한 정보를 확인합니다.

  2. "대시보드로 돌아가기" 클릭

3-7. 프로덕션으로 전환 (중요!)

  1. 게시 상태를 확인합니다:

    현재 상태: 테스트
    
  2. "프로덕션으로 푸시" 버튼 클릭

    • ⚠️ 중요: 이 단계를 꼭 해야 합니다!
    • 안 하면 7일마다 토큰이 만료됩니다!
  3. 확인 창에서 "확인" 클릭

  4. 게시 상태 변경 확인:

    현재 상태: 프로덕션
    

4단계: OAuth 클라이언트 ID 생성

4-1. 사용자 인증 정보로 이동

  1. 왼쪽 메뉴:
    API 및 서비스 → 사용자 인증 정보
    

4-2. OAuth 클라이언트 ID 생성

  1. 상단의 "+ 사용자 인증 정보 만들기" 버튼 클릭

  2. "OAuth 2.0 클라이언트 ID" 선택

4-3. 애플리케이션 유형 선택

  1. 애플리케이션 유형: "웹 애플리케이션" 선택
    • ⚠️ 매우 중요: "데스크톱 앱"이 아닌 "웹 애플리케이션"을 선택하세요!

4-4. 클라이언트 정보 입력

이름*: Blogger Web Client
   (원하는 이름으로)

4-5. 승인된 리디렉션 URI 추가

  1. "승인된 리디렉션 URI" 섹션 찾기

  2. "+ URI 추가" 버튼 클릭

  3. 다음 URL을 정확히 입력:

    https://developers.google.com/oauthplayground
    
    • ⚠️ 주의사항:
      • https:// 포함 필수!
      • 끝에 / 없이!
      • 대소문자 정확히!
      • 공백 없이!
  4. "만들기" 버튼 클릭

4-6. Client ID와 Client Secret 복사

  1. 팝업 창이 나타납니다:

    OAuth 클라이언트가 생성되었습니다
    
    클라이언트 ID:
    123456789-abcdefg.apps.googleusercontent.com
    
    클라이언트 보안 비밀번호:
    GOCSPX-abcdefghijklmnop
    
  2. 두 값을 모두 복사하여 메모장에 저장하세요!

    • 📋 복사 방법: 각 값 옆의 복사 아이콘 클릭
  3. 저장 예시 (메모장):

    Client ID: 123456789-abcdefg.apps.googleusercontent.com
    Client Secret: GOCSPX-abcdefghijklmnop
    
  4. "확인" 버튼 클릭


5단계: OAuth Playground에서 Refresh Token 받기

5-1. OAuth Playground 접속

  1. 새 탭에서 다음 주소로 이동:
    https://developers.google.com/oauthplayground
    

5-2. 설정 열기

  1. 화면 우측 상단의 ⚙️ (톱니바퀴 아이콘) 클릭

5-3. OAuth 설정 입력

  1. "Use your own OAuth credentials" 체크박스를 체크

  2. 다음 정보를 입력:

    OAuth Client ID: [4단계에서 복사한 Client ID 붙여넣기]
    
    OAuth Client secret: [4단계에서 복사한 Client Secret 붙여넣기]
    
  3. 설정 창을 닫습니다 (X 클릭)

5-4. Blogger API 선택

  1. 화면 왼쪽 "Step 1" 섹션에서:

  2. 검색창에 입력:

    blogger
    
  3. "Blogger API v3" 펼치기 (▶ 클릭)

  4. 다음 항목 체크:

    ✅ https://www.googleapis.com/auth/blogger
    

5-5. API 권한 승인

  1. 파란색 "Authorize APIs" 버튼 클릭

  2. Google 로그인 화면이 나타납니다:

    • ⚠️ 중요: Blogger 블로그 소유자 계정으로 로그인!
  3. 권한 승인 화면:

    Blogger Web Client가 다음을 원합니다:
    
    • Blogger 계정 관리
    
    [취소] [허용]
    
  4. "허용" 버튼 클릭

5-6. Authorization Code 교환

  1. OAuth Playground로 다시 돌아옵니다

  2. "Step 2" 섹션에서:

  3. 파란색 "Exchange authorization code for tokens" 버튼 클릭

5-7. Refresh Token 복사

  1. "Step 2" 섹션에 토큰이 표시됩니다:

    Refresh token:
    1//04abcdefghijklmnopqrstuvwxyz1234567890
    
    Access token:
    ya29.a0abcdefghijklmnopqrstuvwxyz
    
  2. "Refresh token" 값을 전체 복사합니다

    • ⚠️ 주의: "Access token"이 아닌 "Refresh token"을 복사!
    • 💡 특징: 1//로 시작하는 긴 문자열
  3. 메모장에 저장:

    Refresh Token: 1//04abcdefghijklmnopqrstuvwxyz1234567890
    

6단계: Apps Script 프로젝트 생성

6-1. Apps Script 접속

  1. 새 탭에서 다음 주소로 이동:

    https://script.google.com
    
  2. Google 계정으로 로그인

    • ⚠️ 주의: 같은 Google 계정 사용!

6-2. 새 프로젝트 생성

  1. 좌측 상단 "새 프로젝트" 버튼 클릭

  2. 프로젝트가 생성되고 코드 편집기가 열립니다

6-3. 프로젝트 이름 변경

  1. 좌측 상단 "제목 없는 프로젝트" 클릭

  2. 프로젝트 이름 입력:

    Blogger Auto Publisher
    
  3. "이름 바꾸기" 클릭


7단계: Apps Script 코드 작성

7-1. 기존 코드 삭제

  1. 편집기에 있는 기본 코드를 전체 선택 (Ctrl + A)

  2. 삭제 (Delete 키)

7-2. 새 코드 붙여넣기

다음 코드를 전체 복사하여 붙여넣으세요:

// ========================================
// Blogger 자동 포스팅 Apps Script
// ========================================

// ⚙️ 설정 (여기에 본인의 값을 입력하세요!)
const CONFIG = {
  CLIENT_ID: "여기에_Client_ID_입력",
  CLIENT_SECRET: "여기에_Client_Secret_입력",
  REFRESH_TOKEN: "여기에_Refresh_Token_입력"
};

/**
 * GET 요청 처리 (테스트용)
 */
function doGet(e) {
  return ContentService.createTextOutput('Blogger API 작동 중! ✅');
}

/**
 * POST 요청 처리 (실제 포스팅)
 */
function doPost(e) {
  try {
    Logger.log('📥 POST 요청 수신');
    
    let blogId, title, content;
    
    // URL 파라미터로 받은 경우
    if (e && e.parameter) {
      blogId = e.parameter.blogId;
      title = e.parameter.title;
      content = e.parameter.content;
    }
    // JSON으로 받은 경우
    else if (e && e.postData && e.postData.contents) {
      const data = JSON.parse(e.postData.contents);
      blogId = data.blogId;
      title = data.title;
      content = data.content;
    }
    else {
      throw new Error('요청 데이터가 없습니다');
    }
    
    Logger.log('📝 Blog ID: ' + blogId);
    Logger.log('📝 제목: ' + title);
    
    // Access Token 발급
    const accessToken = getAccessToken();
    Logger.log('✅ Access Token 발급 완료');
    
    // Blogger API 호출
    const result = postToBlogger(accessToken, blogId, title, content);
    Logger.log('✅ 포스팅 완료!');
    Logger.log('🔗 URL: ' + result.url);
    
    // 성공 응답
    return ContentService.createTextOutput(JSON.stringify({
      success: true,
      url: result.url,
      id: result.id
    })).setMimeType(ContentService.MimeType.JSON);
    
  } catch (error) {
    Logger.log('❌ 오류: ' + error.message);
    
    // 실패 응답
    return ContentService.createTextOutput(JSON.stringify({
      success: false,
      message: error.message
    })).setMimeType(ContentService.MimeType.JSON);
  }
}

/**
 * Refresh Token으로 Access Token 발급
 */
function getAccessToken() {
  try {
    Logger.log('🔑 Access Token 발급 요청...');
    
    const response = UrlFetchApp.fetch('https://oauth2.googleapis.com/token', {
      method: 'post',
      contentType: 'application/x-www-form-urlencoded',
      payload: {
        client_id: CONFIG.CLIENT_ID,
        client_secret: CONFIG.CLIENT_SECRET,
        refresh_token: CONFIG.REFRESH_TOKEN,
        grant_type: 'refresh_token'
      },
      muteHttpExceptions: true
    });
    
    const responseCode = response.getResponseCode();
    const result = JSON.parse(response.getContentText());
    
    Logger.log('📡 Token 응답 코드: ' + responseCode);
    
    if (result.error) {
      throw new Error('Token 오류: ' + result.error_description);
    }
    
    if (!result.access_token) {
      throw new Error('Access Token을 받지 못했습니다');
    }
    
    Logger.log('✅ Access Token 발급 성공');
    return result.access_token;
    
  } catch (error) {
    Logger.log('❌ Token 발급 실패: ' + error.message);
    throw error;
  }
}

/**
 * Blogger API로 포스팅
 */
function postToBlogger(accessToken, blogId, title, content) {
  try {
    Logger.log('📤 Blogger API 호출...');
    
    const url = 'https://www.googleapis.com/blogger/v3/blogs/' + blogId + '/posts/';
    
    const response = UrlFetchApp.fetch(url, {
      method: 'post',
      contentType: 'application/json',
      headers: {
        'Authorization': 'Bearer ' + accessToken
      },
      payload: JSON.stringify({
        kind: 'blogger#post',
        title: title,
        content: content
      }),
      muteHttpExceptions: true
    });
    
    const responseCode = response.getResponseCode();
    const responseText = response.getContentText();
    
    Logger.log('📡 Blogger 응답 코드: ' + responseCode);
    
    if (responseCode !== 200 && responseCode !== 201) {
      Logger.log('❌ 응답 내용: ' + responseText);
      throw new Error('Blogger API 오류 (코드 ' + responseCode + ')');
    }
    
    const result = JSON.parse(responseText);
    Logger.log('✅ Blogger 포스팅 성공!');
    
    return result;
    
  } catch (error) {
    Logger.log('❌ Blogger API 오류: ' + error.message);
    throw error;
  }
}

/**
 * 테스트 함수 (직접 실행용)
 */
function testPosting() {
  const testBlogId = "여기에_Blog_ID_입력";
  const testTitle = "테스트 포스팅 " + new Date().toLocaleString();
  const testContent = "<h1>테스트</h1><p>Apps Script가 정상 작동합니다!</p>";
  
  try {
    Logger.log('====================================');
    Logger.log('🧪 테스트 시작');
    Logger.log('====================================');
    
    const accessToken = getAccessToken();
    const result = postToBlogger(accessToken, testBlogId, testTitle, testContent);
    
    Logger.log('====================================');
    Logger.log('🎉 테스트 성공!');
    Logger.log('🔗 URL: ' + result.url);
    Logger.log('====================================');
    
  } catch (error) {
    Logger.log('====================================');
    Logger.log('❌ 테스트 실패: ' + error.message);
    Logger.log('====================================');
  }
}

7-3. CONFIG 값 수정

코드 상단의 CONFIG 부분을 찾아서 본인의 값으로 수정하세요:

const CONFIG = {
  CLIENT_ID: "123456789-abcdefg.apps.googleusercontent.com",  // ← 4단계에서 복사한 값
  CLIENT_SECRET: "GOCSPX-abcdefghijklmnop",  // ← 4단계에서 복사한 값
  REFRESH_TOKEN: "1//04abcdefghijklmnopqrstuvwxyz"  // ← 5단계에서 복사한 값
};

⚠️ 주의: 따옴표(")는 지우지 마세요!

7-4. 저장

  1. Ctrl + S 또는 상단의 💾 (저장) 아이콘 클릭

  2. "프로젝트 저장됨" 메시지 확인


8단계: Apps Script 배포

8-1. 배포 시작

  1. 화면 우측 상단 "배포" 버튼 클릭

  2. "새 배포" 선택

8-2. 배포 유형 선택

  1. "유형 선택" (톱니바퀴 아이콘) 클릭

  2. "웹 앱" 선택

8-3. 배포 설정

다음과 같이 설정:

설명: (비워두기)

실행 권한: 나
   ↑ 중요: "나"를 선택하세요!

다음 사용자의 액세스 권한: 모든 사용자
   ↑ 중요: "모든 사용자"를 선택하세요!

8-4. 배포 실행

  1. "배포" 버튼 클릭

  2. 권한 승인 화면이 나타납니다:

8-5. 권한 승인 (중요!)

  1. "액세스 권한 부여" 클릭

  2. Google 계정 선택

  3. ⚠️ 경고 화면이 나타날 수 있습니다:

    이 앱은 Google에서 인증하지 않았습니다
    
  4. "고급" 클릭

  5. "[프로젝트 이름](안전하지 않음)(으)로 이동" 클릭

  6. "허용" 버튼 클릭

8-6. 배포 URL 복사

  1. 배포 완료 화면에서 **"웹 앱 URL"**을 확인:

    https://script.google.com/macros/s/AKfycby...xyz/exec
    
  2. 전체 URL을 복사합니다

    • 💡 확인: URL이 /exec로 끝나는지 확인!
  3. 메모장에 저장:

    Apps Script URL: https://script.google.com/macros/s/AKfycby...xyz/exec
    
  4. "완료" 버튼 클릭


9단계: Blog ID 찾기

방법 1: Blogger 설정에서 찾기 (추천)

  1. Blogger 접속:

    https://blogger.com
    
  2. 본인 블로그 선택

  3. 좌측 메뉴 → "설정" 클릭

  4. "Blog ID" 항목 찾기:

    Blog ID: 1234567890123456789
    
  5. 복사하여 메모장에 저장

방법 2: URL에서 찾기

  1. Blogger에서 본인 블로그 선택

  2. 브라우저 주소창 확인:

    https://www.blogger.com/blog/posts/1234567890123456789
                                       ↑ 이 숫자가 Blog ID
    
  3. 숫자만 복사하여 메모장에 저장


10단계: 테스트

10-1. testPosting 함수 수정

  1. Apps Script 편집기로 돌아갑니다

  2. 코드 하단의 testPosting 함수를 찾습니다

  3. testBlogId 값을 본인의 Blog ID로 수정:

function testPosting() {
  const testBlogId = "1234567890123456789";  // ← 여기에 본인의 Blog ID
  const testTitle = "테스트 포스팅 " + new Date().toLocaleString();
  const testContent = "<h1>테스트</h1><p>Apps Script가 정상 작동합니다!</p>";
  
  // ... 나머지 코드
}
  1. 저장 (Ctrl + S)

10-2. 테스트 실행

  1. 상단 드롭다운에서 "testPosting" 선택

  2. ▶ 실행 버튼 클릭

  3. 권한 승인 요청이 나타나면 위의 8-5와 같이 승인

10-3. 로그 확인

  1. 화면 하단 "실행 로그" 확인

  2. 성공 시 로그:

    ====================================
    🧪 테스트 시작
    ====================================
    🔑 Access Token 발급 요청...
    📡 Token 응답 코드: 200
    ✅ Access Token 발급 성공
    📤 Blogger API 호출...
    📡 Blogger 응답 코드: 201
    ✅ Blogger 포스팅 성공!
    ====================================
    🎉 테스트 성공!
    🔗 URL: https://yourblog.blogspot.com/2025/...
    ====================================
    

10-4. Blogger에서 확인

  1. Blogger 블로그 방문

  2. "테스트 포스팅" 글이 생성되었는지 확인

  3. 성공! 🎉


최종 정리: 받은 모든 값

이제 다음 5가지 값을 모두 받았습니다:

✅ Apps Script URL:
   https://script.google.com/macros/s/AKfycby...xyz/exec

✅ Client ID:
   123456789-abcdefg.apps.googleusercontent.com

✅ Client Secret:
   GOCSPX-abcdefghijklmnop

✅ Refresh Token:
   1//04abcdefghijklmnopqrstuvwxyz

✅ Blog ID:
   1234567890123456789

이 값들을 AI 블로그 자동 작성 프로그램에 입력하면 자동 포스팅이 가능합니다!


문제 해결

Q1: "401 Unauthorized" 오류

원인: Client ID, Client Secret, Refresh Token 중 하나가 잘못됨

해결:

  1. Google Cloud Console에서 OAuth 클라이언트 ID 확인
  2. Client Secret 다시 복사 (정확히!)
  3. OAuth Playground에서 Refresh Token 다시 발급
  4. Apps Script CONFIG 값 다시 입력
  5. 저장 후 재배포

Q2: "Invalid blog id" 오류

원인: Blog ID가 잘못됨

해결:

  1. Blogger 설정에서 Blog ID 다시 확인
  2. 숫자만 복사 (공백, 특수문자 없이)
  3. Apps Script testPosting 함수에 다시 입력
  4. 저장 후 재실행

Q3: "Token has been expired or revoked" 오류

원인: Refresh Token이 만료됨 (테스트 모드에서 7일 후)

해결:

  1. 3단계로 돌아가기
  2. OAuth 동의 화면을 "프로덕션"으로 전환 확인
  3. 5단계: OAuth Playground에서 Refresh Token 다시 발급
  4. Apps Script CONFIG에 새 Refresh Token 입력
  5. 저장 후 재배포

Q4: Apps Script URL이 작동하지 않음

원인: 배포 설정이 잘못됨

해결:

  1. Apps Script 배포 → 배포 관리
  2. 현재 배포 확인
  3. "실행 권한: 나" / "액세스: 모든 사용자" 확인
  4. 잘못되었으면 수정 후 재배포

Q5: "리디렉션 URI 불일치" 오류

원인: OAuth 클라이언트 ID에 리디렉션 URI가 없음

해결:

  1. Google Cloud Console → OAuth 클라이언트 ID 편집
  2. 승인된 리디렉션 URI에 다음 추가:
    https://developers.google.com/oauthplayground
    
  3. 저장
  4. OAuth Playground에서 다시 시도

Q6: "This app isn't verified" 경고

원인: 정상입니다! 개인 프로젝트라서 Google 인증을 받지 않음

해결:

  1. "고급" 클릭
  2. "[프로젝트 이름](안전하지 않음)으로 이동" 클릭
  3. "허용" 클릭
  4. 본인이 만든 앱이므로 안전합니다!

추가 팁

💡 팁 1: 코드 수정 시 재배포

Apps Script 코드를 수정했다면:

  1. 저장 (Ctrl + S)
  2. 배포 → 배포 관리
  3. 연필 아이콘 (편집) 클릭
  4. 버전: "새 버전"
  5. 배포 클릭

💡 팁 2: 로그 확인 방법

실행 로그 보는 법:

  1. Apps Script 편집기
  2. 좌측 메뉴 → "실행" (⏱️ 아이콘)
  3. 최근 실행 내역 클릭
  4. 상세 로그 확인

💡 팁 3: 여러 블로그 사용

여러 블로그에 포스팅하려면:

  • Blog ID만 바꿔서 사용하면 됩니다
  • Apps Script는 그대로 사용
  • 같은 Google 계정의 블로그만 가능

💡 팁 4: 보안

중요한 정보 관리:

  • Client Secret, Refresh Token은 절대 공개하지 마세요
  • GitHub에 올릴 때 CONFIG 값은 지우세요
  • Apps Script URL도 공개하지 마세요

마치며

축하합니다! 🎉

이제 Blogger 자동 포스팅을 위한 모든 설정이 완료되었습니다!

받은 5가지 값: ✅ Apps Script URL ✅ Client ID ✅ Client Secret
✅ Refresh Token ✅ Blog ID

이 값들을 AI 블로그 자동 작성 프로그램에 입력하면, 한 번의 클릭으로 AI가 작성한 글을 Blogger에 자동으로 발행할 수 있습니다!


문제가 있으신가요?

  • GitHub Issues에 질문 남겨주세요
  • 커뮤니티에서 도움을 요청하세요
  • YouTube 영상 댓글로 문의하세요

도움이 되셨나요?

  • ⭐ GitHub Star를 눌러주세요
  • 👍 좋아요와 구독 부탁드립니다
  • 💝 후원은 선택사항입니다

📝 작성자: [당신 이름]
📅 작성일: 2025년 1월
🔄 최종 수정: 2025년 1월
📌 버전: 1.0


관련 문서:

댓글

이 블로그의 인기 게시물

라면 맛있게 끓이는 방법

🤖 AI 블로그 자동 작성기