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