You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Facebook Graph API遇「Provide valid app ID」错误求助

解决Meta Graph API返回"(#200) Provide valid app ID"错误的方法

问题根源分析

这个错误并非由page_id参数导致,而是以下常见问题引发:

  • GET请求参数传递方式错误:你用data传递access_token,但GET请求的参数需放在URL查询串中,而非请求体
  • Access Token的类型或权限不匹配:比如使用用户令牌而非页面令牌,或者令牌缺少必要权限

具体修复步骤

1. 修正请求参数传递方式

修改cek_subs_app_webhook函数,将data替换为params——GET请求的参数必须通过URL查询字符串传递:

import requests

def cek_subs_app_webhook(page_id, access_token):
    url = f"https://graph.facebook.com/{page_id}/subscribed_apps"
    params = {
        'access_token': access_token
    }
    # 用params传递GET参数,而非data
    response = requests.get(url, params=params)
    return response.json()

2. 验证Access Token的有效性与权限

  • 确保使用页面访问令牌:页面令牌专门用于操作页面资源,用户令牌无法直接访问页面的subscribed_apps端点
  • 检查令牌权限:至少需包含pages_show_list权限,可在Meta Graph API调试工具中验证令牌的权限和有效性
  • 确认令牌关联的应用ID有效,且该应用已安装到目标页面

3. FastAPI代码简化(可选)

FastAPI支持直接返回字典,无需手动包装JSONResponse,简化代码:

@router.get("/cek-subs-app/{page_id}")
async def check(page_id: str, access_token: str = Header(..., description="meta token")):
    return cek_subs_app_webhook(page_id, access_token)

验证方法

修复后可通过curl测试接口:

curl -H "access_token: YOUR_PAGE_ACCESS_TOKEN" http://your-fastapi-url/cek-subs-app/YOUR_PAGE_ID

内容的提问来源于stack exchange,提问作者Dimas Surya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 22:37:52