diff --git a/video-gen-api/app/services/user_oauth_service.py b/video-gen-api/app/services/user_oauth_service.py index de8f7452..b85fcd51 100644 --- a/video-gen-api/app/services/user_oauth_service.py +++ b/video-gen-api/app/services/user_oauth_service.py @@ -1,5 +1,5 @@ import random -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone import httpx from sqlalchemy import select, func @@ -136,8 +136,8 @@ async def get_juliang_token(app_id: str, secret: str, code: str, open_type: int, data = data.get("data", {}) access_token = data.get("access_token", "") refresh_token = data.get("refresh_token", "") - expires_in = datetime.now() + timedelta(seconds=data.get("expires_in", 0)) - refresh_token_expires_in = datetime.now() + timedelta(seconds=data.get("refresh_token_expires_in", 0)) + expires_in = datetime.now(timezone.utc) + timedelta(seconds=data.get("expires_in", 0)) + refresh_token_expires_in = datetime.now(timezone.utc) + timedelta(seconds=data.get("refresh_token_expires_in", 0)) #2.获取已授权角色账户,一个授权可能有多个角色账户 url = "https://api.oceanengine.com/open_api/oauth2/advertiser/get/" response = await client.get( @@ -222,7 +222,7 @@ async def get_juliang_token(app_id: str, secret: str, code: str, open_type: int, # 1. 软删除已消失的账户 for account_id in old_account_ids - new_account_ids: - existing_accounts[account_id].deleted_at = datetime.now() + existing_accounts[account_id].deleted_at = datetime.now(timezone.utc) # 2. 更新或新增账户 for account in account_list: diff --git a/video-gen-api/app/tasks/token_refresh_task.py b/video-gen-api/app/tasks/token_refresh_task.py index 11e86bc8..37a9830e 100644 --- a/video-gen-api/app/tasks/token_refresh_task.py +++ b/video-gen-api/app/tasks/token_refresh_task.py @@ -93,8 +93,8 @@ async def refresh_juliang_token(oauth: UserOAuth, app: UserOAuthApp, db: AsyncSe data = data.get("data", {}) new_access_token = data.get("access_token", "") new_refresh_token = data.get("refresh_token", "") - expires_in = datetime.now(tz=oauth.access_token_expired.tzinfo) + timedelta(seconds=data.get("expires_in", 0)) - refresh_token_expires_in = datetime.now(tz=oauth.refresh_token_expired.tzinfo) + timedelta(seconds=data.get("refresh_token_expires_in", 0)) + expires_in = datetime.now(timezone.utc) + timedelta(seconds=data.get("expires_in", 0)) + refresh_token_expires_in = datetime.now(timezone.utc) + timedelta(seconds=data.get("refresh_token_expires_in", 0)) from sqlalchemy import update diff --git a/video-gen-api/app/utils/douyinRequest.py b/video-gen-api/app/utils/douyinRequest.py index 69121af6..a817d513 100644 --- a/video-gen-api/app/utils/douyinRequest.py +++ b/video-gen-api/app/utils/douyinRequest.py @@ -51,7 +51,7 @@ class DouyinRequest: token = cache.get("token") expired_at_str = cache.get("expired_at") if token and expired_at_str: - expired_at = datetime.fromisoformat(expired_at_str) + expired_at = datetime.fromisoformat(expired_at_str).replace(tzinfo=timezone.utc) if expired_at > datetime.now(timezone.utc): return token except Exception as e: