studio / publisher /platforms /facebook.py
Ava2lon's picture
Upload 170 files
345855e verified
Raw
History Blame Contribute Delete
749 Bytes
# publisher/platforms/facebook.py
import httpx
from .auth import get_token
from .base import validate_payload
async def publish_facebook(payload):
payload = validate_payload(payload)
page_id = get_token("FACEBOOK_PAGE_ID")
token = get_token("META_ACCESS_TOKEN")
async with httpx.AsyncClient(timeout=600) as client:
with open(payload["video_path"], "rb") as f:
res = await client.post(
f"https://graph-video.facebook.com/{page_id}/videos",
data={
"description": payload["caption"],
"access_token": token,
},
files={"source": f},
)
return {"platform": "facebook", "status": "published"}