FastApi-ISS/utils/boxapi_client.py
2025-08-11 21:45:31 +03:30

29 lines
929 B
Python

import os
import requests
from typing import List, Dict
BOXAPI_USERNAME = os.getenv("BOXAPI_USERNAME")
BOXAPI_PASSWORD = os.getenv("BOXAPI_PASSWORD")
BOXAPI_ENDPOINT = os.getenv("BOXAPI_ENDPOINT", "https://boxapi.ir/api/instagram/user/get_media_by_username")
def fetch_boxapi_posts(username: str, count: int = 5) -> List[Dict]:
payload = {
"username": username, # 👈 Do NOT replace with user ID
"count": count
}
try:
response = requests.post(
BOXAPI_ENDPOINT,
json=payload,
auth=(BOXAPI_USERNAME, BOXAPI_PASSWORD),
timeout=15
)
response.raise_for_status()
data = response.json()
if not isinstance(data, list):
raise ValueError("Unexpected response format from BoxAPI")
return data
except Exception as e:
print(f"❌ Failed to fetch posts from BoxAPI: {e}")
return []