[Python] Fetching live comments on Facebook Video turn names to "None"

Discussão em 'Python' iniciado por Stack, Setembro 6, 2025.

  1. Stack

    Stack Membro Participativo

    i'm testing out this code to fetch video comments on my Facebook Page but the commenter's names turn to None, but when I comment on it using my own Page it catches the name. How could it be?

    #!/usr/bin/env python3
    import requests, json, urllib.parse

    VIDEO_ID = "videoId"
    PAGE_TOKEN = "pagetoken"

    # Build the URL with query params using urllib.parse
    params = {
    "fields": "id,from{name},message,created_time",
    "access_token": PAGE_TOKEN,
    "order": "reverse_chronological",
    "limit": 25,
    }
    url = f"https://graph.facebook.com/v20.0/{VIDEO_ID}/comments?{urllib.parse.urlencode(params)}"

    try:
    r = requests.get(url, timeout=10)
    data = r.json()
    except Exception:
    print("Non-JSON response:", r.text)
    raise

    # Print results in a loop (instead of raw JSON dump)
    if "data" in data:
    for c in data["data"]:
    cid = c.get("id")
    user = c.get("from", {}).get("name")
    msg = c.get("message", "")
    ts = c.get("created_time", "")
    print(f"[{ts}] {user}: {msg} (id: {cid})")
    else:
    print("⚠️ API returned:", json.dumps(data, indent=2))


    Access Token Debugger Info

    App ID: <some numbers>: Chat
    Type: Page
    Page ID: <pageID>: <Page>
    App-Scoped User ID: <some numbers>: <Facebook Profile>
    User last installed this app via API N/A

    Expires: Never
    Data Access Expires: 1764772437 (in about 3 months)
    Valid: True
    Origin: Unknown
    Scopes: email, read_insights, pages_show_list, business_management, pages_read_engagement, pages_manage_metadata, pages_read_user_content, pages_manage_posts, pages_manage_engagement, public_profile

    Granular Scopes
    pages_show_list: <some number> : <page>
    business_management: <some number> : <page>
    pages_read_engagement: <some number> : <page>
    pages_manage_metadata: <some number> : <page>
    pages_read_user_content: <some number> : <page>
    pages_manage_posts: <some number> : <page>
    pages_manage_engagement : <some number> : <page>

    Continue reading...

Compartilhe esta Página