29 lines
917 B
Python
29 lines
917 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")
|
|
|
|
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 [] |