피드로 돌아가기
Dev.toBackend
원문 읽기
Vercel Cron과 OAuth 2.0 기반의 GBP 자동 포스팅 시스템 설계
How I built automated Google Business Profile(GBP) posting with the GBP API (and what I learned)
AI 요약
Context
로컬 비즈니스 운영자의 일관성 없는 포스팅 습관으로 인한 검색 순위 하락 문제 해결 필요. 매주 반복되는 단순 작업의 마찰력을 제거하기 위한 자동화된 스케줄링 시스템 구축 요구.
Technical Solution
- Vercel Cron을 활용한 UTC 03:30 매주 월요일 자동 트리거 구조 설계
prompt: 'consent'설정을 통한 Refresh Token 강제 확보로 세션 만료 문제 해결getValidGbpToken헬퍼 함수를 구현하여 API 호출 전 Access Token 유효성 검증 및 자동 갱신 로직 적용- Prisma와 Neon DB를 통한 User별 Connection Token 및 포스팅 이력 상태 관리
Promise.allSettled를 이용한 다수 사용자 대상 비동기 병렬 처리 및 개별 실패 격리- Google Business Profile API v4 기반의
localPosts엔드포인트를 통한 자동 콘텐츠 발행
실천 포인트
- Google OAuth 구현 시 `access_type: 'offline'`와 `prompt: 'consent'`를 조합하여 Refresh Token 유실 방지 - API 제공처의 문서가 파편화된 경우 v3/v4 버전 차이를 확인하고 최신 엔드포인트 직접 검증 - 외부 API 연동 시 Token Expiry 체크 로직을 추상화한 헬퍼 함수를 통해 비즈니스 로직과 인증 로직 분리 - 다량의 API 요청 처리 시 개별 요청의 성공/실패가 전체 프로세스에 영향을 주지 않도록 `allSettled` 패턴 적용