# 최초코드를 위한 url (브라우저에서 실행해서 url 리다이렉션 된 파라미터의 code를 수작업으로 뽑아주세요.)
# https://granceed.cafe24api.com/api/v2/oauth/authorize?response_type=code&client_id=ULC335SqJNpocfOXSN1JlH&redirect_uri=https://granceed.cafe24.com/oauth/callback&scope=mall.read_product%20mall.write_product&state=xyz



# create_tokens.py
import requests, json
from requests.auth import HTTPBasicAuth
from datetime import datetime, timedelta

# 수작업으로 얻은 code
# authorization_code = "2KeTGXlUHaARPZcVSdqBeL"
authorization_code = "oi2jG9eFbCGUfoRvvY3wYM"

# 앱 정보
client_id = "ULC335SqJNpocfOXSN1JlH"
client_secret = "VdcQ5RWfEKkDDKPy6TmQkF"
redirect_uri = "https://granceed.cafe24.com/oauth/callback"
token_url = "https://granceed.cafe24api.com/api/v2/oauth/token"
token_file = "tokens.json"

# access_token 발급 요청
data = {
    "grant_type": "authorization_code",
    "code": authorization_code,
    "redirect_uri": redirect_uri
}

res = requests.post(token_url, data=data, auth=HTTPBasicAuth(client_id, client_secret))
res.raise_for_status()
tokens = res.json()

# 유효시간 계산해서 추가
expires_in = tokens.get("expires_in", 3600)
tokens["expires_at"] = (datetime.utcnow() + timedelta(seconds=expires_in)).strftime("%Y-%m-%dT%H:%M:%S")

# tokens.json 저장
with open(token_file, "w") as f:
    json.dump(tokens, f, indent=2)

print("✅ tokens.json 생성 완료:")
print(tokens)
