| |
|
|
| 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"} |