mirror of
https://github.com/TheSmallHanCat/sora2api.git
synced 2026-02-24 02:04:41 +08:00
fix: 批量导入不走代理
This commit is contained in:
@@ -382,7 +382,10 @@ async def import_tokens(request: ImportTokensRequest, token: str = Depends(verif
|
|||||||
if not import_item.session_token:
|
if not import_item.session_token:
|
||||||
raise ValueError("ST导入模式需要提供 session_token")
|
raise ValueError("ST导入模式需要提供 session_token")
|
||||||
# Convert ST to AT
|
# Convert ST to AT
|
||||||
st_result = await token_manager.st_to_at(import_item.session_token)
|
st_result = await token_manager.st_to_at(
|
||||||
|
import_item.session_token,
|
||||||
|
proxy_url=import_item.proxy_url
|
||||||
|
)
|
||||||
access_token = st_result["access_token"]
|
access_token = st_result["access_token"]
|
||||||
# Update email if API returned it
|
# Update email if API returned it
|
||||||
if "email" in st_result and st_result["email"]:
|
if "email" in st_result and st_result["email"]:
|
||||||
@@ -396,7 +399,8 @@ async def import_tokens(request: ImportTokensRequest, token: str = Depends(verif
|
|||||||
# Convert RT to AT
|
# Convert RT to AT
|
||||||
rt_result = await token_manager.rt_to_at(
|
rt_result = await token_manager.rt_to_at(
|
||||||
import_item.refresh_token,
|
import_item.refresh_token,
|
||||||
client_id=import_item.client_id
|
client_id=import_item.client_id,
|
||||||
|
proxy_url=import_item.proxy_url
|
||||||
)
|
)
|
||||||
access_token = rt_result["access_token"]
|
access_token = rt_result["access_token"]
|
||||||
# Update RT if API returned new one
|
# Update RT if API returned new one
|
||||||
|
|||||||
@@ -475,10 +475,10 @@ class TokenManager:
|
|||||||
print(f"📄 响应内容: {response.text[:500]}")
|
print(f"📄 响应内容: {response.text[:500]}")
|
||||||
raise Exception(f"Failed to activate Sora2: {response.status_code}")
|
raise Exception(f"Failed to activate Sora2: {response.status_code}")
|
||||||
|
|
||||||
async def st_to_at(self, session_token: str) -> dict:
|
async def st_to_at(self, session_token: str, proxy_url: Optional[str] = None) -> dict:
|
||||||
"""Convert Session Token to Access Token"""
|
"""Convert Session Token to Access Token"""
|
||||||
debug_logger.log_info(f"[ST_TO_AT] 开始转换 Session Token 为 Access Token...")
|
debug_logger.log_info(f"[ST_TO_AT] 开始转换 Session Token 为 Access Token...")
|
||||||
proxy_url = await self.proxy_manager.get_proxy_url()
|
proxy_url = await self.proxy_manager.get_proxy_url(proxy_url=proxy_url)
|
||||||
|
|
||||||
async with AsyncSession() as session:
|
async with AsyncSession() as session:
|
||||||
headers = {
|
headers = {
|
||||||
@@ -555,19 +555,20 @@ class TokenManager:
|
|||||||
debug_logger.log_info(f"[ST_TO_AT] 🔴 异常: {str(e)}")
|
debug_logger.log_info(f"[ST_TO_AT] 🔴 异常: {str(e)}")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
async def rt_to_at(self, refresh_token: str, client_id: Optional[str] = None) -> dict:
|
async def rt_to_at(self, refresh_token: str, client_id: Optional[str] = None, proxy_url: Optional[str] = None) -> dict:
|
||||||
"""Convert Refresh Token to Access Token
|
"""Convert Refresh Token to Access Token
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
refresh_token: Refresh Token
|
refresh_token: Refresh Token
|
||||||
client_id: Client ID (optional, uses default if not provided)
|
client_id: Client ID (optional, uses default if not provided)
|
||||||
|
proxy_url: Proxy URL (optional, uses global proxy if not provided)
|
||||||
"""
|
"""
|
||||||
# Use provided client_id or default
|
# Use provided client_id or default
|
||||||
effective_client_id = client_id or "app_LlGpXReQgckcGGUo2JrYvtJK"
|
effective_client_id = client_id or "app_LlGpXReQgckcGGUo2JrYvtJK"
|
||||||
|
|
||||||
debug_logger.log_info(f"[RT_TO_AT] 开始转换 Refresh Token 为 Access Token...")
|
debug_logger.log_info(f"[RT_TO_AT] 开始转换 Refresh Token 为 Access Token...")
|
||||||
debug_logger.log_info(f"[RT_TO_AT] 使用 Client ID: {effective_client_id[:20]}...")
|
debug_logger.log_info(f"[RT_TO_AT] 使用 Client ID: {effective_client_id[:20]}...")
|
||||||
proxy_url = await self.proxy_manager.get_proxy_url()
|
proxy_url = await self.proxy_manager.get_proxy_url(proxy_url=proxy_url)
|
||||||
|
|
||||||
async with AsyncSession() as session:
|
async with AsyncSession() as session:
|
||||||
headers = {
|
headers = {
|
||||||
|
|||||||
Reference in New Issue
Block a user