.env
실시간 업데이트 자동화cloudfunction/
└── cafe24/
├── main.py # Cloud Function 진입점
├── requirements.txt # 의존성 정의
├── localpackage/
│ ├── get_token.py # 토큰 갱신 + .env GCS 동기화
│ ├── extract_data.py # 주문 데이터 조회
│ └── load_to_bq.py # BigQuery 적재
└── deploy/
└── cloudfunctions.sh # 배포 스크립트
.env
접근 문제/tmp
경로에 .env
를 다운로드해 사용# get_token.py
from pathlib import Path
import tempfile
LOCAL_ENV_PATH = Path(tempfile.gettempdir()) / ".env"
Invalid refresh_token
오류invalid_grant
발생 load_dotenv(..., override=True)
로 강제 갱신load_dotenv(dotenv_path=LOCAL_ENV_PATH, override=True)
.env
는 바뀌는데 반영이 안 됨os.getenv()
는 이미 로드된 환경변수를 계속 참조.env
갱신을 위해 매번 load_dotenv로 갱신 필요403: does not have storage.objects.delete access
Storage Object Admin
권한 부여refresh_token
은 바로 무효화Postman으로 테스트 후엔 반드시
.env
를 최신 토큰으로 업데이트해야 함
동시에 사용 시 충돌 발생 가능 (토큰 1회성 특성 때문)
.env
다운로드 → /tmp/.env
load_dotenv(..., override=True)
로 환경변수 로딩.env
파일 업데이트.env
재업로드.env
파일엔 공백 ❌ '
따옴표 ❌refresh_token
은 오직 한 곳에서만 사용해야 함 (Postman ↔ Cloud Function 동시에 사용 금지)print(f"실제 요청한 refresh_token: {refresh_token}")
.env
동기화 상태 꼭 체크할 것!