File size: 749 Bytes
345855e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # 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"} |